diff --git a/src/common/cfgfiles.c b/src/common/cfgfiles.c
index 3085168c..e8b598fc 100644
--- a/src/common/cfgfiles.c
+++ b/src/common/cfgfiles.c
@@ -562,9 +562,7 @@ const struct prefs vars[] = {
{"tab_chans", P_OFFINT (tabchannels), TYPE_BOOL},
{"tab_dialogs", P_OFFINT (privmsgtab), TYPE_BOOL},
-#ifdef WIN32
{"tab_icons", P_OFFINT (tab_icons), TYPE_BOOL},
-#endif
{"tab_layout", P_OFFINT (tab_layout), TYPE_INT},
{"tab_new_to_front", P_OFFINT (newtabstofront), TYPE_INT},
{"tab_notices", P_OFFINT (notices_tabs), TYPE_BOOL},
@@ -690,6 +688,7 @@ load_config (void)
prefs.text_stripcolor_topic = 1;
prefs.tabchannels = 1;
prefs.tab_layout = 2; /* 0=Tabs 1=Reserved 2=Tree */
+ prefs.tab_icons = 1;
prefs.tab_sort = 1;
prefs.paned_userlist = 1;
prefs.newtabstofront = 2;
@@ -732,7 +731,7 @@ load_config (void)
prefs.gui_chanlist_maxusers = 9999;
prefs.gui_chanlist_minusers = 5;
prefs.gui_tray = 1;
- prefs.gui_pane_left_size = 100;
+ prefs.gui_pane_left_size = 128; /* with treeview icons we need a bit bigger space */
prefs.gui_pane_right_size = 100;
prefs.gui_pane_right_size_min = 80;
prefs.mainwindow_save = 1;
diff --git a/src/common/xchat.h b/src/common/xchat.h
index 6f82ed76..7767d709 100644
--- a/src/common/xchat.h
+++ b/src/common/xchat.h
@@ -205,6 +205,7 @@ struct xchatprefs
char dcc_ip_str[DOMAINLEN + 1];
unsigned int tab_small;
+ unsigned int tab_icons;
unsigned int tab_sort;
unsigned int mainwindow_save;
unsigned int perc_color;
@@ -312,7 +313,6 @@ struct xchatprefs
#ifdef WIN32
unsigned int identd;
unsigned int emoticons;
- unsigned int tab_icons;
#endif
unsigned int ctcp_number_limit; /*flood */
diff --git a/src/fe-gtk/maingui.c b/src/fe-gtk/maingui.c
index 41cbb2a6..3dbac7af 100644
--- a/src/fe-gtk/maingui.c
+++ b/src/fe-gtk/maingui.c
@@ -2915,8 +2915,10 @@ mg_create_tabs (session_gui *gui)
/* if any one of these PNGs exist, the chanview will create
* the extra column for icons. */
- if (pix_channel || pix_dialog || pix_server || pix_util)
+ if (prefs.tab_icons && (pix_channel || pix_dialog || pix_server || pix_util))
+ {
use_icons = TRUE;
+ }
gui->chanview = chanview_new (prefs.tab_layout, prefs.truncchans,
prefs.tab_sort, use_icons,
diff --git a/src/fe-gtk/pixmaps.c b/src/fe-gtk/pixmaps.c
index c802f508..4211c6f5 100644
--- a/src/fe-gtk/pixmaps.c
+++ b/src/fe-gtk/pixmaps.c
@@ -137,9 +137,16 @@ pixmaps_init (void)
pix_tray_hilight = load_pixmap ("highlight", trayhilightpng, 1);
pix_tray_file = load_pixmap ("fileoffer", trayfilepng, 1);
+#if 0
/* treeview icons, no defaults, load from disk only */
pix_channel = load_pixmap ("channel", NULL, 0);
pix_dialog = load_pixmap ("dialog", NULL, 0);
pix_server = load_pixmap ("server", NULL, 0);
pix_util = load_pixmap ("util", NULL, 0);
+#endif
+ /* provide inline defaults for these coz they are nice! */
+ pix_channel = load_pixmap ("channel", channelpng, 1);
+ pix_dialog = load_pixmap ("dialog", dialogpng, 1);
+ pix_server = load_pixmap ("server", serverpng, 1);
+ pix_util = load_pixmap ("util", utilpng, 1);
}
diff --git a/src/fe-gtk/setup.c b/src/fe-gtk/setup.c
index 60a17a0c..742eb0b3 100644
--- a/src/fe-gtk/setup.c
+++ b/src/fe-gtk/setup.c
@@ -266,6 +266,7 @@ static const setting tabs_settings[] =
{ST_TOGGLE, N_("Open an extra tab for server notices"), P_OFFINTNL(notices_tabs), 0, 0, 0},
{ST_TOGGLE, N_("Open a new tab when you receive a private message"), P_OFFINTNL(autodialog), 0, 0, 0},
{ST_TOGGLE, N_("Sort tabs in alphabetical order"), P_OFFINTNL(tab_sort), 0, 0, 0},
+ {ST_TOGGLE, N_("Show icons in tree view"), P_OFFINTNL(tab_icons), 0, 0, 0},
{ST_TOGGLE, N_("Smaller text"), P_OFFINTNL(tab_small), 0, 0, 0},
#if 0
{ST_MENU, N_("Focus new tabs:"), P_OFFINTNL(newtabstofront), 0, focusnewtabsmenu, 0},
@@ -2147,6 +2148,8 @@ setup_apply (struct xchatprefs *pr)
noapply = TRUE;
if (DIFF (truncchans))
noapply = TRUE;
+ if (DIFF (tab_icons))
+ noapply = TRUE;
if (DIFF (tab_layout))
do_layout = TRUE;
diff --git a/src/pixmaps/Makefile.am b/src/pixmaps/Makefile.am
index 6dff376c..65f8cb89 100644
--- a/src/pixmaps/Makefile.am
+++ b/src/pixmaps/Makefile.am
@@ -9,9 +9,13 @@ LIST = traymsgpng $(srcdir)/message.png \
purplepng $(srcdir)/purple.png \
redpng $(srcdir)/red.png \
voicepng $(srcdir)/voice.png \
+ channelpng $(srcdir)/channel.png \
+ dialogpng $(srcdir)/dialog.png \
+ serverpng $(srcdir)/server.png \
+ utilpng $(srcdir)/util.png \
hexchatpng $(srcdir)/../../hexchat.png
-PNGS = message.png highlight.png fileoffer.png book.png hop.png op.png purple.png red.png voice.png
+PNGS = message.png highlight.png fileoffer.png book.png hop.png op.png purple.png red.png voice.png channel.png dialog.png server.png util.png
noinst_HEADERS = inline_pngs.h
CLEANFILES = $(noinst_HEADERS)
EXTRA_DIST = $(PNGS)
diff --git a/src/pixmaps/channel.png b/src/pixmaps/channel.png
new file mode 100644
index 00000000..a2d6c9eb
Binary files /dev/null and b/src/pixmaps/channel.png differ
diff --git a/src/pixmaps/dialog.png b/src/pixmaps/dialog.png
new file mode 100644
index 00000000..54bd3a0f
Binary files /dev/null and b/src/pixmaps/dialog.png differ
diff --git a/src/pixmaps/pixmaps-xp.vcxproj b/src/pixmaps/pixmaps-xp.vcxproj
index 24e63fd1..2a3a8a6b 100644
--- a/src/pixmaps/pixmaps-xp.vcxproj
+++ b/src/pixmaps/pixmaps-xp.vcxproj
@@ -96,6 +96,8 @@
+
+
@@ -103,6 +105,8 @@
+
+
diff --git a/src/pixmaps/pixmaps-xp.vcxproj.filters b/src/pixmaps/pixmaps-xp.vcxproj.filters
index 5944362a..82b5ddef 100644
--- a/src/pixmaps/pixmaps-xp.vcxproj.filters
+++ b/src/pixmaps/pixmaps-xp.vcxproj.filters
@@ -37,5 +37,17 @@
Resource Files
+
+ Resource Files
+
+
+ Resource Files
+
+
+ Resource Files
+
+
+ Resource Files
+
\ No newline at end of file
diff --git a/src/pixmaps/pixmaps.vcxproj b/src/pixmaps/pixmaps.vcxproj
index 84f89609..812fa805 100644
--- a/src/pixmaps/pixmaps.vcxproj
+++ b/src/pixmaps/pixmaps.vcxproj
@@ -93,6 +93,8 @@
+
+
@@ -100,6 +102,8 @@
+
+
diff --git a/src/pixmaps/pixmaps.vcxproj.filters b/src/pixmaps/pixmaps.vcxproj.filters
index 5944362a..82b5ddef 100644
--- a/src/pixmaps/pixmaps.vcxproj.filters
+++ b/src/pixmaps/pixmaps.vcxproj.filters
@@ -37,5 +37,17 @@
Resource Files
+
+ Resource Files
+
+
+ Resource Files
+
+
+ Resource Files
+
+
+ Resource Files
+
\ No newline at end of file
diff --git a/src/pixmaps/server.png b/src/pixmaps/server.png
new file mode 100644
index 00000000..24b4ed98
Binary files /dev/null and b/src/pixmaps/server.png differ
diff --git a/src/pixmaps/util.png b/src/pixmaps/util.png
new file mode 100644
index 00000000..daa87702
Binary files /dev/null and b/src/pixmaps/util.png differ
diff --git a/win32/hexchat-xp.props b/win32/hexchat-xp.props
index 1f2a3c39..d4ca94ee 100644
--- a/win32/hexchat-xp.props
+++ b/win32/hexchat-xp.props
@@ -33,7 +33,7 @@
hcpython
$(DepsRoot)\include\glib-2.0;$(DepsRoot)\lib\glib-2.0\include;$(DepsRoot)\include\libxml2
$(DepsRoot)\include\gtk-2.0;$(DepsRoot)\lib\gtk-2.0\include;$(DepsRoot)\include\atk-1.0;$(DepsRoot)\include\cairo;$(DepsRoot)\include\pango-1.0;$(DepsRoot)\include\gdk-pixbuf-2.0
- bookpng "$(SolutionDir)\..\src\pixmaps\book.png" hoppng "$(SolutionDir)\..\src\pixmaps\hop.png" oppng "$(SolutionDir)\..\src\pixmaps\op.png" purplepng "$(SolutionDir)\..\src\pixmaps\purple.png" redpng "$(SolutionDir)\..\src\pixmaps\red.png" trayfilepng "$(SolutionDir)\..\src\pixmaps\fileoffer.png" trayhilightpng "$(SolutionDir)\..\src\pixmaps\highlight.png" traymsgpng "$(SolutionDir)\..\src\pixmaps\message.png" voicepng "$(SolutionDir)\..\src\pixmaps\voice.png" hexchatpng "$(SolutionDir)\..\hexchat.png"
+ bookpng "$(SolutionDir)\..\src\pixmaps\book.png" hoppng "$(SolutionDir)\..\src\pixmaps\hop.png" oppng "$(SolutionDir)\..\src\pixmaps\op.png" purplepng "$(SolutionDir)\..\src\pixmaps\purple.png" redpng "$(SolutionDir)\..\src\pixmaps\red.png" trayfilepng "$(SolutionDir)\..\src\pixmaps\fileoffer.png" trayhilightpng "$(SolutionDir)\..\src\pixmaps\highlight.png" traymsgpng "$(SolutionDir)\..\src\pixmaps\message.png" voicepng "$(SolutionDir)\..\src\pixmaps\voice.png" channelpng "$(SolutionDir)\..\src\pixmaps\channel.png" dialogpng "$(SolutionDir)\..\src\pixmaps\dialog.png" serverpng "$(SolutionDir)\..\src\pixmaps\server.png" utilpng "$(SolutionDir)\..\src\pixmaps\util.png" hexchatpng "$(SolutionDir)\..\hexchat.png"
gtk-win32-2.0.lib;gdk-win32-2.0.lib;atk-1.0.lib;gio-2.0.lib;gdk_pixbuf-2.0.lib;pangowin32-1.0.lib;pangocairo-1.0.lib;pango-1.0.lib;cairo.lib;gobject-2.0.lib;gmodule-2.0.lib;glib-2.0.lib;intl.lib;libxml2.lib;libeay32.lib;ssleay32.lib;wininet.lib;winmm.lib;ws2_32.lib
$(SolutionDir)build-xp
$(HexChatBuild)\$(PlatformName)\bin\
diff --git a/win32/hexchat.props b/win32/hexchat.props
index 890dfd01..749dce0a 100644
--- a/win32/hexchat.props
+++ b/win32/hexchat.props
@@ -35,7 +35,7 @@
hcpython
$(DepsRoot)\include\glib-2.0;$(DepsRoot)\lib\glib-2.0\include;$(DepsRoot)\include\libxml2
$(DepsRoot)\include\gtk-2.0;$(DepsRoot)\lib\gtk-2.0\include;$(DepsRoot)\include\atk-1.0;$(DepsRoot)\include\cairo;$(DepsRoot)\include\pango-1.0;$(DepsRoot)\include\gdk-pixbuf-2.0
- bookpng "$(SolutionDir)\..\src\pixmaps\book.png" hoppng "$(SolutionDir)\..\src\pixmaps\hop.png" oppng "$(SolutionDir)\..\src\pixmaps\op.png" purplepng "$(SolutionDir)\..\src\pixmaps\purple.png" redpng "$(SolutionDir)\..\src\pixmaps\red.png" trayfilepng "$(SolutionDir)\..\src\pixmaps\fileoffer.png" trayhilightpng "$(SolutionDir)\..\src\pixmaps\highlight.png" traymsgpng "$(SolutionDir)\..\src\pixmaps\message.png" voicepng "$(SolutionDir)\..\src\pixmaps\voice.png" hexchatpng "$(SolutionDir)\..\hexchat.png"
+ bookpng "$(SolutionDir)\..\src\pixmaps\book.png" hoppng "$(SolutionDir)\..\src\pixmaps\hop.png" oppng "$(SolutionDir)\..\src\pixmaps\op.png" purplepng "$(SolutionDir)\..\src\pixmaps\purple.png" redpng "$(SolutionDir)\..\src\pixmaps\red.png" trayfilepng "$(SolutionDir)\..\src\pixmaps\fileoffer.png" trayhilightpng "$(SolutionDir)\..\src\pixmaps\highlight.png" traymsgpng "$(SolutionDir)\..\src\pixmaps\message.png" voicepng "$(SolutionDir)\..\src\pixmaps\voice.png" channelpng "$(SolutionDir)\..\src\pixmaps\channel.png" dialogpng "$(SolutionDir)\..\src\pixmaps\dialog.png" serverpng "$(SolutionDir)\..\src\pixmaps\server.png" utilpng "$(SolutionDir)\..\src\pixmaps\util.png" hexchatpng "$(SolutionDir)\..\hexchat.png"
gtk-win32-2.0.lib;gdk-win32-2.0.lib;atk-1.0.lib;gio-2.0.lib;gdk_pixbuf-2.0.lib;pangowin32-1.0.lib;pangocairo-1.0.lib;pango-1.0.lib;cairo.lib;gobject-2.0.lib;gmodule-2.0.lib;glib-2.0.lib;libintl.lib;libxml2.lib;libeay32.lib;ssleay32.lib;wininet.lib;winmm.lib;ws2_32.lib
$(SolutionDir)build
$(HexChatBuild)\$(PlatformName)\bin\