From 1f84c507a058f5baa01a632ce2478fa31854907d Mon Sep 17 00:00:00 2001 From: TingPing Date: Fri, 27 Sep 2013 21:56:13 -0400 Subject: Reorganize files and migrate images to gresource --- src/fe-gtk/Makefile.am | 8 +++-- src/fe-gtk/fe-gtk.vcxproj | 14 ++++++-- src/fe-gtk/fe-gtk.vcxproj.filters | 10 ++++-- src/fe-gtk/hexchat.rc | 2 +- src/fe-gtk/pixmaps.c | 70 +++++++++++++++------------------------ 5 files changed, 52 insertions(+), 52 deletions(-) (limited to 'src/fe-gtk') diff --git a/src/fe-gtk/Makefile.am b/src/fe-gtk/Makefile.am index 88e3dfea..9ae2d084 100644 --- a/src/fe-gtk/Makefile.am +++ b/src/fe-gtk/Makefile.am @@ -11,7 +11,8 @@ EXTRA_DIST = \ chanview-tree.c custom-list.h editlist.h fe-gtk.h fkeys.h gtkutil.h joind.h \ maingui.h menu.h notifygui.h palette.h pixmaps.h \ plugin-tray.h plugingui.c plugingui.h rawlog.h sexy-iso-codes.h \ - sexy-spell-entry.h sexy-marshal.h textgui.h urlgrab.h userlistgui.h xtext.h + sexy-spell-entry.h sexy-marshal.h textgui.h urlgrab.h userlistgui.h xtext.h \ + ../../data/hexchat.gresource.xml if DO_PLUGIN plugingui_c = plugingui.c @@ -25,5 +26,8 @@ endif hexchat_SOURCES = ascii.c banlist.c chanlist.c chanview.c custom-list.c \ dccgui.c editlist.c fe-gtk.c fkeys.c gtkutil.c ignoregui.c joind.c menu.c \ maingui.c notifygui.c palette.c pixmaps.c plugin-tray.c $(plugingui_c) \ - rawlog.c servlistgui.c setup.c $(sexy_spell) textgui.c \ + rawlog.c resources.c servlistgui.c setup.c $(sexy_spell) textgui.c \ urlgrab.c userlistgui.c xtext.c + +resources.c: ../../data/hexchat.gresource.xml $(shell $(GLIB_COMPILE_RESOURCES) --sourcedir=../../data --generate-dependencies ../../data/hexchat.gresource.xml) + $(AM_V_GEN) $(GLIB_COMPILE_RESOURCES) --target=$@ --sourcedir=../../data --generate-source $< diff --git a/src/fe-gtk/fe-gtk.vcxproj b/src/fe-gtk/fe-gtk.vcxproj index a7c40a19..73526766 100644 --- a/src/fe-gtk/fe-gtk.vcxproj +++ b/src/fe-gtk/fe-gtk.vcxproj @@ -22,13 +22,11 @@ Application false - true MultiByte Application false - true MultiByte @@ -97,6 +95,12 @@ mainCRTStartup + + + $(DepsRoot)\bin\glib-compile-resources.exe --generate-source --sourcedir $(DataDir) --target "$(ProjectDir)resources.c" "$(DataDir)hexchat.gresource.xml" + Build gresource file + + @@ -147,6 +151,7 @@ + @@ -164,7 +169,10 @@ - + + + + diff --git a/src/fe-gtk/fe-gtk.vcxproj.filters b/src/fe-gtk/fe-gtk.vcxproj.filters index e1de7844..765e8cba 100644 --- a/src/fe-gtk/fe-gtk.vcxproj.filters +++ b/src/fe-gtk/fe-gtk.vcxproj.filters @@ -185,6 +185,9 @@ Source Files + + Source Files + @@ -197,8 +200,11 @@ - + Resource Files - \ No newline at end of file + + + + diff --git a/src/fe-gtk/hexchat.rc b/src/fe-gtk/hexchat.rc index 9b1018e0..789aa26e 100644 --- a/src/fe-gtk/hexchat.rc +++ b/src/fe-gtk/hexchat.rc @@ -2,7 +2,7 @@ #include "../../config-win32.h" #include "../../resource.h" -XC_ICON ICON "../../share/icons/hexchat.ico" +XC_ICON ICON "../../data/icons/hexchat.ico" VS_VERSION_INFO VERSIONINFO FILEVERSION COMMA_VERSION diff --git a/src/fe-gtk/pixmaps.c b/src/fe-gtk/pixmaps.c index bdd74e1e..cbec6f71 100644 --- a/src/fe-gtk/pixmaps.c +++ b/src/fe-gtk/pixmaps.c @@ -25,10 +25,9 @@ #include "../common/hexchat.h" #include "../common/fe.h" +#include #include -#include "../pixmaps/inline_pngs.h" - GdkPixbuf *pix_ulist_voice; GdkPixbuf *pix_ulist_halfop; GdkPixbuf *pix_ulist_op; @@ -84,21 +83,9 @@ pixmap_load_from_file (char *filename) return pix; } -#if 0 -#define LOADPIX(vv,pp,ff) \ - vv = gdk_pixbuf_new_from_file (HEXCHATSHAREDIR"/hexchat/"ff, 0); \ - if (!vv) \ - vv = gdk_pixbuf_new_from_inline (-1, pp, FALSE, 0); - -#define LOADPIX_DISKONLY(vv,ff) \ - vv = gdk_pixbuf_new_from_file (HEXCHATSHAREDIR"/hexchat/"ff, 0); - -#define EXT ".png" -#endif - /* load custom icons from /icons, don't mess in system folders */ static GdkPixbuf * -load_pixmap (const char *filename, const char *name, int has_inline) +load_pixmap (const char *filename) { gchar *path; GdkPixbuf *pixbuf; @@ -107,45 +94,40 @@ load_pixmap (const char *filename, const char *name, int has_inline) pixbuf = gdk_pixbuf_new_from_file (path, 0); g_free (path); - if (has_inline && !pixbuf && name) + if (!pixbuf) { - pixbuf = gdk_pixbuf_new_from_inline (-1, name, FALSE, 0); + path = g_strdup_printf ("/icons/%s.png", filename); + pixbuf = gdk_pixbuf_new_from_resource (path, NULL); + g_free (path); } + g_warn_if_fail (pixbuf != NULL); + return pixbuf; } void pixmaps_init (void) { - /* userlist icons, with inlined defaults */ - pix_ulist_voice = load_pixmap ("ulist_voice", png_ulist_voice, 1); - pix_ulist_halfop = load_pixmap ("ulist_halfop", png_ulist_halfop, 1); - pix_ulist_op = load_pixmap ("ulist_op", png_ulist_op, 1); - pix_ulist_owner = load_pixmap ("ulist_owner", png_ulist_owner, 1); - pix_ulist_founder = load_pixmap ("ulist_founder", png_ulist_founder, 1); - pix_ulist_netop = load_pixmap ("ulist_netop", png_ulist_netop, 1); - - /* tray icons, with inlined defaults */ - pix_tray_fileoffer = load_pixmap ("tray_fileoffer", png_tray_fileoffer, 1); - pix_tray_highlight = load_pixmap ("tray_highlight", png_tray_highlight, 1); - pix_tray_message = load_pixmap ("tray_message", png_tray_message, 1); - -#if 0 - /* treeview icons, no defaults, load from disk only */ - pix_tree_channel = load_pixmap ("tree_channel", NULL, 0); - pix_tree_dialog = load_pixmap ("tree_dialog", NULL, 0); - pix_tree_server = load_pixmap ("tree_server", NULL, 0); - pix_tree_util = load_pixmap ("tree_util", NULL, 0); -#endif - /* provide inline defaults for these coz they are nice! */ - pix_tree_channel = load_pixmap ("tree_channel", png_tree_channel, 1); - pix_tree_dialog = load_pixmap ("tree_dialog", png_tree_dialog, 1); - pix_tree_server = load_pixmap ("tree_server", png_tree_server, 1); - pix_tree_util = load_pixmap ("tree_util", png_tree_util, 1); + pix_ulist_voice = load_pixmap ("ulist_voice"); + pix_ulist_halfop = load_pixmap ("ulist_halfop"); + pix_ulist_op = load_pixmap ("ulist_op"); + pix_ulist_owner = load_pixmap ("ulist_owner"); + pix_ulist_founder = load_pixmap ("ulist_founder"); + pix_ulist_netop = load_pixmap ("ulist_netop"); + + pix_tray_fileoffer = load_pixmap ("tray_fileoffer"); + pix_tray_highlight = load_pixmap ("tray_highlight"); + pix_tray_message = load_pixmap ("tray_message"); + + pix_tree_channel = load_pixmap ("tree_channel"); + pix_tree_dialog = load_pixmap ("tree_dialog"); + pix_tree_server = load_pixmap ("tree_server"); + pix_tree_util = load_pixmap ("tree_util"); /* non-replaceable book pixmap */ - pix_book = gdk_pixbuf_new_from_inline (-1, png_book, FALSE, 0); + pix_book = gdk_pixbuf_new_from_resource ("/icons/book.png", NULL); + /* used in About window, tray icon and WindowManager icon. */ - pix_hexchat = load_pixmap ("hexchat", png_hexchat, 1); + pix_hexchat = load_pixmap ("hexchat"); } -- cgit 1.4.1 t: bold } /* Name.Function.Magic */ .highlight .vc { color: #336699 } /* Name.Variable.Class */ .highlight .vg { color: #dd7700 } /* Name.Variable.Global */ .highlight .vi { color: #3333bb } /* Name.Variable.Instance */ .highlight .vm { color: #336699 } /* Name.Variable.Magic */ .highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
EXPORTS 
xchat_plugin_init 
xchat_plugin_deinit