diff options
author | TingPing <tingping@tingping.se> | 2013-09-27 21:56:13 -0400 |
---|---|---|
committer | TingPing <tingping@tingping.se> | 2013-09-29 02:24:06 -0400 |
commit | 1f84c507a058f5baa01a632ce2478fa31854907d (patch) | |
tree | 4cbd6188a2e92839be97ac2dc996420a5c3aba00 /src/fe-gtk | |
parent | 0d2feba69cd3fda426fd3b786afb8b7c563a62da (diff) |
Reorganize files and migrate images to gresource
Diffstat (limited to 'src/fe-gtk')
-rw-r--r-- | src/fe-gtk/Makefile.am | 8 | ||||
-rw-r--r-- | src/fe-gtk/fe-gtk.vcxproj | 14 | ||||
-rw-r--r-- | src/fe-gtk/fe-gtk.vcxproj.filters | 10 | ||||
-rw-r--r-- | src/fe-gtk/hexchat.rc | 2 | ||||
-rw-r--r-- | src/fe-gtk/pixmaps.c | 70 |
5 files changed, 52 insertions, 52 deletions
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 @@ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> <ConfigurationType>Application</ConfigurationType> <UseDebugLibraries>false</UseDebugLibraries> - <WholeProgramOptimization>true</WholeProgramOptimization> <CharacterSet>MultiByte</CharacterSet> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration"> <ConfigurationType>Application</ConfigurationType> <UseDebugLibraries>false</UseDebugLibraries> - <WholeProgramOptimization>true</WholeProgramOptimization> <CharacterSet>MultiByte</CharacterSet> </PropertyGroup> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> @@ -97,6 +95,12 @@ <EntryPointSymbol>mainCRTStartup</EntryPointSymbol> </Link> </ItemDefinitionGroup> + <ItemDefinitionGroup> + <PreBuildEvent> + <Command>$(DepsRoot)\bin\glib-compile-resources.exe --generate-source --sourcedir $(DataDir) --target "$(ProjectDir)resources.c" "$(DataDir)hexchat.gresource.xml"</Command> + <Message>Build gresource file</Message> + </PreBuildEvent> + </ItemDefinitionGroup> <ItemGroup> <ClInclude Include="ascii.h" /> <ClInclude Include="banlist.h" /> @@ -147,6 +151,7 @@ <ClCompile Include="plugin-tray.c" /> <ClCompile Include="plugingui.c" /> <ClCompile Include="rawlog.c" /> + <ClCompile Include="resources.c" /> <ClCompile Include="servlistgui.c" /> <ClCompile Include="setup.c" /> <ClCompile Include="sexy-iso-codes.c" /> @@ -164,7 +169,10 @@ <ResourceCompile Include="hexchat.rc" /> </ItemGroup> <ItemGroup> - <None Include="..\..\share\icons\hexchat.ico" /> + <None Include="..\..\data\icons\hexchat.ico" /> + </ItemGroup> + <ItemGroup> + <Xml Include="..\..\data\hexchat.gresource.xml" /> </ItemGroup> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> <ImportGroup Label="ExtensionTargets"> 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 @@ <ClCompile Include="xtext.c"> <Filter>Source Files</Filter> </ClCompile> + <ClCompile Include="resources.c"> + <Filter>Source Files</Filter> + </ClCompile> </ItemGroup> <ItemGroup> <Manifest Include="hexchat.exe.manifest"> @@ -197,8 +200,11 @@ </ResourceCompile> </ItemGroup> <ItemGroup> - <None Include="..\..\share\icons\hexchat.ico"> + <None Include="..\..\data\icons\hexchat.ico"> <Filter>Resource Files</Filter> </None> </ItemGroup> -</Project> \ No newline at end of file + <ItemGroup> + <Xml Include="..\..\data\hexchat.gresource.xml" /> + </ItemGroup> +</Project> 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 <gio/gio.h> #include <gdk-pixbuf/gdk-pixbuf.h> -#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 <config>/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"); } |