diff options
-rw-r--r-- | src/common/cfgfiles.c | 16 | ||||
-rw-r--r-- | src/common/servlist.c | 6 | ||||
-rw-r--r-- | src/common/text.c | 14 | ||||
-rw-r--r-- | src/common/xchat.h | 5 | ||||
-rw-r--r-- | src/fe-gtk/fe-gtk.c | 24 | ||||
-rw-r--r-- | src/fe-gtk/setup.c | 31 | ||||
-rw-r--r-- | win32/installer/hexchat-x64.skel.iss | 4 | ||||
-rw-r--r-- | win32/installer/hexchat-x86.skel.iss | 4 |
8 files changed, 79 insertions, 25 deletions
diff --git a/src/common/cfgfiles.c b/src/common/cfgfiles.c index da2fc107..352c0174 100644 --- a/src/common/cfgfiles.c +++ b/src/common/cfgfiles.c @@ -39,7 +39,7 @@ #define DEF_FONT "Monospace 9" #ifdef WIN32 -#define DEF_FONT_ALTER "Arial Unicode MS,Lucida Sans Unicode,MS Gothic" +#define DEF_FONT_ALTER "Arial Unicode MS,Lucida Sans Unicode,MS Gothic,Unifont" #endif void @@ -580,9 +580,9 @@ const struct prefs vars[] = { {"tab_trunc", P_OFFINT (truncchans), TYPE_INT}, {"tab_utils", P_OFFINT (windows_as_tabs), TYPE_BOOL}, - {"text_auto_copy_color", P_OFFINT (autocopy_color), TYPE_BOOL}, - {"text_auto_copy_stamp", P_OFFINT (autocopy_stamp), TYPE_BOOL}, - {"text_auto_copy_text", P_OFFINT (autocopy_text), TYPE_BOOL}, + {"text_autocopy_color", P_OFFINT (autocopy_color), TYPE_BOOL}, + {"text_autocopy_stamp", P_OFFINT (autocopy_stamp), TYPE_BOOL}, + {"text_autocopy_text", P_OFFINT (autocopy_text), TYPE_BOOL}, {"text_background", P_OFFSET (background), TYPE_STR}, {"text_color_nicks", P_OFFINT (colorednicks), TYPE_BOOL}, #ifdef WIN32 @@ -597,7 +597,6 @@ const struct prefs vars[] = { {"text_max_indent", P_OFFINT (max_auto_indent), TYPE_INT}, {"text_max_lines", P_OFFINT (max_lines), TYPE_INT}, {"text_replay", P_OFFINT (text_replay), TYPE_BOOL}, - {"text_replay_strip_color", P_OFFINT (text_replay_strip_color), TYPE_BOOL}, {"text_search_case_match", P_OFFINT (text_search_case_match), TYPE_BOOL}, {"text_search_backward", P_OFFINT (text_search_backward), TYPE_BOOL}, {"text_search_highlight_all", P_OFFINT (text_search_highlight_all), TYPE_BOOL}, @@ -606,7 +605,9 @@ const struct prefs vars[] = { {"text_show_marker", P_OFFINT (show_marker), TYPE_BOOL}, {"text_show_sep", P_OFFINT (show_separator), TYPE_BOOL}, {"text_spell_langs", P_OFFSET (spell_langs), TYPE_STR}, - {"text_stripcolor", P_OFFINT (stripcolor), TYPE_BOOL}, + {"text_stripcolor_msg", P_OFFINT (text_stripcolor_msg), TYPE_BOOL}, + {"text_stripcolor_replay", P_OFFINT (text_stripcolor_replay), TYPE_BOOL}, + {"text_stripcolor_topic", P_OFFINT (text_stripcolor_topic), TYPE_BOOL}, {"text_thin_sep", P_OFFINT (thin_separator), TYPE_BOOL}, {"text_tint_blue", P_OFFINT (tint_blue), TYPE_INT}, {"text_tint_green", P_OFFINT (tint_green), TYPE_INT}, @@ -689,7 +690,8 @@ load_config (void) prefs.recon_delay = 10; prefs.autocopy_text = 1; prefs.text_replay = 1; - prefs.text_replay_strip_color = 1; + prefs.text_stripcolor_replay = 1; + prefs.text_stripcolor_topic = 1; prefs.tabchannels = 1; prefs.tab_layout = 2; /* 0=Tabs 1=Reserved 2=Tree */ prefs.tab_sort = 1; diff --git a/src/common/servlist.c b/src/common/servlist.c index 7e89fd61..85644ea8 100644 --- a/src/common/servlist.c +++ b/src/common/servlist.c @@ -135,6 +135,12 @@ static const struct defaultserver def[] = {"Beirut", 0}, {0, "irc.beirut.com"}, + {"Chat4all", 0}, +#ifdef USE_OPENSSL + {0, "irc.chat4all.org/+7001"}, +#endif + {0, "irc.chat4all.org"}, + {"ChattingAway", 0}, {0, "irc.chattingaway.com"}, diff --git a/src/common/text.c b/src/common/text.c index 7ec5d0ae..220fca1b 100644 --- a/src/common/text.c +++ b/src/common/text.c @@ -340,12 +340,12 @@ scrollback_load (session *sess) text = strchr (buf + 3, ' '); if (text) { - if (prefs.text_replay_strip_color) + if (prefs.text_stripcolor_replay) { text = strip_color (text + 1, -1, STRIP_COLOR); } fe_print_text (sess, text, stamp); - if (prefs.text_replay_strip_color) + if (prefs.text_stripcolor_replay) { g_free (text); } @@ -381,21 +381,21 @@ scrollback_load (session *sess) text = strchr (buf + 3, ' '); if (text) { - if (prefs.text_replay_strip_color) + if (prefs.text_stripcolor_replay) { text = strip_color (text + 1, -1, STRIP_COLOR); } cleaned_text = text_replace_non_bmp (text, -1, &cleaned_len); if (cleaned_text != NULL) { - if (prefs.text_replay_strip_color) + if (prefs.text_stripcolor_replay) { g_free (text); } text = cleaned_text; } fe_print_text (sess, text, stamp); - if (prefs.text_replay_strip_color) + if (prefs.text_stripcolor_replay) { g_free (text); } @@ -1799,7 +1799,7 @@ load_text_events () /* CL: format_event now handles filtering of arguments: - 1) if prefs.stripcolor is set, filter all style control codes from arguments + 1) if prefs.text_stripcolor_msg is set, filter all style control codes from arguments 2) always strip \010 (ATTR_HIDDEN) from arguments: it is only for use in the format string itself */ #define ARG_FLAG(argn) (1 << (argn)) @@ -2095,7 +2095,7 @@ text_emit (int index, session *sess, char *a, char *b, char *c, char *d) { char *word[PDIWORDS]; int i; - unsigned int stripcolor_args = (prefs.stripcolor ? 0xFFFFFFFF : 0); + unsigned int stripcolor_args = (prefs.text_stripcolor_msg ? 0xFFFFFFFF : 0); char tbuf[NICKLEN + 4]; if (prefs.colorednicks && (index == XP_TE_CHANACTION || index == XP_TE_CHANMSG)) diff --git a/src/common/xchat.h b/src/common/xchat.h index 0ebe83cf..d9a64d68 100644 --- a/src/common/xchat.h +++ b/src/common/xchat.h @@ -236,7 +236,9 @@ struct xchatprefs unsigned int autoopendccrecvwindow; unsigned int autoopendccchatwindow; unsigned int transparent; - unsigned int stripcolor; + unsigned int text_stripcolor_msg; + unsigned int text_stripcolor_replay; + unsigned int text_stripcolor_topic; unsigned int timestamp; unsigned int fastdccsend; unsigned int dcc_send_fillspaces; @@ -286,7 +288,6 @@ struct xchatprefs unsigned int windows_as_tabs; unsigned int indent_nicks; unsigned int text_replay; - unsigned int text_replay_strip_color; unsigned int show_marker; unsigned int show_separator; unsigned int thin_separator; diff --git a/src/fe-gtk/fe-gtk.c b/src/fe-gtk/fe-gtk.c index 8a7ce283..ad401bca 100644 --- a/src/fe-gtk/fe-gtk.c +++ b/src/fe-gtk/fe-gtk.c @@ -552,13 +552,31 @@ fe_set_topic (session *sess, char *topic, char *stripped_topic) { if (!sess->gui->is_tab || sess == current_tab) { - gtk_entry_set_text (GTK_ENTRY (sess->gui->topic_entry), stripped_topic); + if (prefs.text_stripcolor_topic) + { + gtk_entry_set_text (GTK_ENTRY (sess->gui->topic_entry), stripped_topic); + } + else + { + gtk_entry_set_text (GTK_ENTRY (sess->gui->topic_entry), topic); + } mg_set_topic_tip (sess); - } else + } + else { if (sess->res->topic_text) + { free (sess->res->topic_text); - sess->res->topic_text = strdup (stripped_topic); + } + + if (prefs.text_stripcolor_topic) + { + sess->res->topic_text = strdup (stripped_topic); + } + else + { + sess->res->topic_text = strdup (topic); + } } } diff --git a/src/fe-gtk/setup.c b/src/fe-gtk/setup.c index fafb8334..3cf059e3 100644 --- a/src/fe-gtk/setup.c +++ b/src/fe-gtk/setup.c @@ -143,7 +143,7 @@ static const char *const tabcompmenu[] = static const setting inputbox_settings[] = { - {ST_HEADER, N_("Input box"),0,0,0}, + {ST_HEADER, N_("Input Box"),0,0,0}, {ST_TOGGLE, N_("Use the Text box font and colors"), P_OFFINTNL(style_inputbox),0,0,0}, #if defined(USE_GTKSPELL) || defined(USE_LIBSEXY) {ST_TOGGLE, N_("Spell checking"), P_OFFINTNL(gui_input_spell),0,0,0}, @@ -219,7 +219,7 @@ static const setting userlist_settings[] = {ST_MENU, N_("User list sorted by:"), P_OFFINTNL(userlist_sort), 0, ulmenutext, 0}, {ST_MENU, N_("Show user list at:"), P_OFFINTNL(gui_ulist_pos), 0, ulpos, 1}, - {ST_HEADER, N_("Away tracking"),0,0,0}, + {ST_HEADER, N_("Away Tracking"),0,0,0}, {ST_TOGGLE, N_("Track the Away status of users and mark them in a different color"), P_OFFINTNL(away_track),0,0,2}, {ST_NUMBER, N_("On channels smaller than:"), P_OFFINTNL(away_size_max),0,0,10000}, @@ -281,6 +281,15 @@ static const setting tabs_settings[] = {ST_END, 0, 0, 0, 0, 0} }; +static const setting color_settings[] = +{ + {ST_TOGGLE, N_("Messages"), P_OFFINTNL(text_stripcolor_msg), 0, 0, 0}, + {ST_TOGGLE, N_("Scrollback"), P_OFFINTNL(text_stripcolor_replay), 0, 0, 0}, + {ST_TOGGLE, N_("Topic"), P_OFFINTNL(text_stripcolor_topic), 0, 0, 0}, + + {ST_END, 0, 0, 0, 0, 0} +}; + static const char *const dccaccept[] = { N_("No"), @@ -413,7 +422,7 @@ static const setting advanced_settings[] = {ST_TOGGLE, N_("Send window"), P_OFFINTNL(autoopendccsendwindow), 0, 0, 0}, {ST_TOGGLE, N_("Receive window"), P_OFFINTNL(autoopendccrecvwindow), 0, 0, 0}, {ST_TOGGLE, N_("Chat window"), P_OFFINTNL(autoopendccchatwindow), 0, 0, 0}, - {ST_HEADER, N_("Auto-Copy Behavior"),0,0,0}, + {ST_HEADER, N_("Auto Copy Behavior"),0,0,0}, {ST_TOGGLE, N_("Automatically copy selected text"), P_OFFINTNL(autocopy_text), N_("Copy selected text to clipboard when left mouse button is released. " "Otherwise, CONTROL-SHIFT-C will copy the " @@ -464,7 +473,9 @@ static const setting logging_settings[] = { {ST_HEADER, N_("Logging"),0,0,0}, {ST_TOGGLE, N_("Display scrollback from previous session"), P_OFFINTNL(text_replay), 0, 0, 0}, - {ST_TOGGLE, N_("Strip colors when displaying scrollback"), P_OFFINTNL(text_replay_strip_color), 0, 0, 0}, +#if 0 /* Now it's done under Colors */ + {ST_TOGGLE, N_("Strip colors when displaying scrollback"), P_OFFINTNL(text_stripcolor_replay), 0, 0, 0}, +#endif {ST_TOGGLE, N_("Enable logging of conversations to disk"), P_OFFINTNL(logging), 0, 0, 2}, {ST_ENTRY, N_("Log filename:"), P_OFFSETNL(logmask), 0, 0, sizeof prefs.logmask}, {ST_LABEL, N_("%s=Server %c=Channel %n=Network.")}, @@ -1417,6 +1428,18 @@ setup_create_color_page (void) setup_create_other_colorR (_("Spell checker:"), COL_SPELL, 11, tab); #endif + setup_create_header (tab, 15, N_("Color Stripping")); + + /* label = gtk_label_new (_("Strip colors from:")); + gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5); + gtk_table_attach (GTK_TABLE (tab), label, 2, 3, 16, 17, + GTK_SHRINK | GTK_FILL, GTK_SHRINK | GTK_FILL, LABEL_INDENT, 0); */ + + for (i = 0; i < 3; i++) + { + setup_create_toggleL (tab, i + 16, &color_settings[i]); + } + return box; } diff --git a/win32/installer/hexchat-x64.skel.iss b/win32/installer/hexchat-x64.skel.iss index 919c6285..0f175cad 100644 --- a/win32/installer/hexchat-x64.skel.iss +++ b/win32/installer/hexchat-x64.skel.iss @@ -30,6 +30,7 @@ Name: "custom"; Description: "Custom Installation"; Flags: iscustom [Components] Name: "libs"; Description: "HexChat"; Types: normal full minimal custom; Flags: fixed +Name: "gtktheme"; Description: "GTK+ Theme"; Types: normal full custom; Flags: disablenouninstallwarning Name: "xctext"; Description: "HexChat-Text"; Types: full custom; Flags: disablenouninstallwarning Name: "xtm"; Description: "HexChat Theme Manager (Requires .NET 4.0)"; Types: full custom; Flags: disablenouninstallwarning Name: "translations"; Description: "Translations"; Types: normal full custom; Flags: disablenouninstallwarning @@ -100,7 +101,7 @@ Source: "LICENSE.CAIRO"; DestDir: "{app}"; Flags: ignoreversion; Components: lib Source: "LICENSE.LUA"; DestDir: "{app}"; Flags: ignoreversion; Components: libs Source: "LICENSE.ENCHANT"; DestDir: "{app}"; Flags: ignoreversion; Components: libs Source: "LICENSE.LIBXML"; DestDir: "{app}"; Flags: ignoreversion; Components: libs -Source: "etc\gtk-2.0\gtkrc"; DestDir: "{app}\etc\gtk-2.0"; Flags: ignoreversion; Components: libs +Source: "etc\gtk-2.0\gtkrc"; DestDir: "{app}\etc\gtk-2.0"; Flags: ignoreversion; Components: gtktheme ;Source: "etc\gtk-2.0\gtkrc"; DestDir: "{app}\etc\gtk-2.0"; Flags: ignoreversion; Components: libs and not gtkengines Source: "share\xml\*"; DestDir: "{app}\share\xml"; Flags: ignoreversion createallsubdirs recursesubdirs; Components: libs Source: "locale\*"; DestDir: "{app}\locale"; Flags: ignoreversion createallsubdirs recursesubdirs; Components: translations @@ -259,6 +260,7 @@ begin begin UnInstallOldVersion(); end; + DeleteFile(ExpandConstant('{app}\portable-mode')); end; end; end; diff --git a/win32/installer/hexchat-x86.skel.iss b/win32/installer/hexchat-x86.skel.iss index 1bd185ad..45ce964c 100644 --- a/win32/installer/hexchat-x86.skel.iss +++ b/win32/installer/hexchat-x86.skel.iss @@ -29,6 +29,7 @@ Name: "custom"; Description: "Custom Installation"; Flags: iscustom [Components] Name: "libs"; Description: "HexChat"; Types: normal full minimal custom; Flags: fixed +Name: "gtktheme"; Description: "GTK+ Theme"; Types: normal full custom; Flags: disablenouninstallwarning Name: "xctext"; Description: "HexChat-Text"; Types: full custom; Flags: disablenouninstallwarning Name: "xtm"; Description: "HexChat Theme Manager (Requires .NET 4.0)"; Types: full custom; Flags: disablenouninstallwarning Name: "translations"; Description: "Translations"; Types: normal full custom; Flags: disablenouninstallwarning @@ -99,7 +100,7 @@ Source: "LICENSE.CAIRO"; DestDir: "{app}"; Flags: ignoreversion; Components: lib Source: "LICENSE.LUA"; DestDir: "{app}"; Flags: ignoreversion; Components: libs Source: "LICENSE.ENCHANT"; DestDir: "{app}"; Flags: ignoreversion; Components: libs Source: "LICENSE.LIBXML"; DestDir: "{app}"; Flags: ignoreversion; Components: libs -Source: "etc\gtk-2.0\gtkrc"; DestDir: "{app}\etc\gtk-2.0"; Flags: ignoreversion; Components: libs +Source: "etc\gtk-2.0\gtkrc"; DestDir: "{app}\etc\gtk-2.0"; Flags: ignoreversion; Components: gtktheme ;Source: "etc\gtk-2.0\gtkrc"; DestDir: "{app}\etc\gtk-2.0"; Flags: ignoreversion; Components: libs and not gtkengines Source: "share\xml\*"; DestDir: "{app}\share\xml"; Flags: ignoreversion createallsubdirs recursesubdirs; Components: libs Source: "locale\*"; DestDir: "{app}\locale"; Flags: ignoreversion createallsubdirs recursesubdirs; Components: translations @@ -260,6 +261,7 @@ begin begin UnInstallOldVersion(); end; + DeleteFile(ExpandConstant('{app}\portable-mode')); end; end; end; |