Reorganize files and migrate images to gresource

This commit is contained in:
TingPing
2013-09-27 21:56:13 -04:00
parent 0d2feba69c
commit 1f84c507a0
59 changed files with 98 additions and 2547 deletions

View File

@@ -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 $<

View File

@@ -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">

View File

@@ -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>
<ItemGroup>
<Xml Include="..\..\data\hexchat.gresource.xml" />
</ItemGroup>
</Project>

View File

@@ -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

View File

@@ -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);
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");
/* 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);
pix_tray_fileoffer = load_pixmap ("tray_fileoffer");
pix_tray_highlight = load_pixmap ("tray_highlight");
pix_tray_message = load_pixmap ("tray_message");
#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_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");
}