diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/common/cfgfiles.c | 11 | ||||
-rw-r--r-- | src/common/outbound.c | 21 | ||||
-rw-r--r-- | src/fe-gtk/about.c | 2 | ||||
-rw-r--r-- | src/fe-gtk/maingui.c | 2 | ||||
-rw-r--r-- | src/fe-gtk/plugin-tray.c | 6 | ||||
-rw-r--r-- | src/fe-gtk/setup.c | 4 |
6 files changed, 34 insertions, 12 deletions
diff --git a/src/common/cfgfiles.c b/src/common/cfgfiles.c index fd037525..9aac5a4f 100644 --- a/src/common/cfgfiles.c +++ b/src/common/cfgfiles.c @@ -619,7 +619,7 @@ convert_with_fallback (const char *str, const char *fallback) void load_config (void) { - char *cfg, *sp; + char *cfg, *sp, *buf; const char *username, *realname; int res, val, i; #ifdef WIN32 @@ -754,7 +754,10 @@ load_config (void) snprintf (prefs.hex_dcc_dir, sizeof (prefs.hex_dcc_dir), "%s\\Downloads", out); } #else - snprintf (prefs.hex_dcc_dir, sizeof (prefs.hex_dcc_dir), "%s/downloads", get_xdir ()); + if (g_get_user_special_dir(G_USER_DIRECTORY_DOWNLOAD)) + strcpy (prefs.hex_dcc_dir, g_get_user_special_dir(G_USER_DIRECTORY_DOWNLOAD)); + else + strcpy (prefs.hex_dcc_dir, g_build_filename (g_get_home_dir (), "Downloads", NULL)); #endif strcpy (prefs.hex_dnsprogram, "host"); strcpy (prefs.hex_gui_ulist_doubleclick, "QUERY %s"); @@ -834,6 +837,10 @@ load_config (void) g_mkdir (prefs.hex_dcc_dir, 0700); g_mkdir (prefs.hex_dcc_completed_dir, 0700); + + buf = g_strdup_printf ("%s" G_DIR_SEPARATOR_S "addons", get_xdir ()); + g_mkdir (buf, 0700); + g_free (buf); } if (prefs.hex_gui_win_height < 138) prefs.hex_gui_win_height = 138; diff --git a/src/common/outbound.c b/src/common/outbound.c index cc2d0e3e..c146c2ac 100644 --- a/src/common/outbound.c +++ b/src/common/outbound.c @@ -2348,17 +2348,26 @@ static int cmd_join (struct session *sess, char *tbuf, char *word[], char *word_eol[]) { char *chan = word[2]; + session *sess_find; if (*chan) { char *po, *pass = word[3]; - sess->server->p_join (sess->server, chan, pass); - if (sess->channel[0] == 0 && sess->waitchannel[0]) + + sess_find = find_channel (sess->server, chan); + if (!sess_find) { - po = strchr (chan, ','); - if (po) - *po = 0; - safe_strcpy (sess->waitchannel, chan, CHANLEN); + sess->server->p_join (sess->server, chan, pass); + if (sess->channel[0] == 0 && sess->waitchannel[0]) + { + po = strchr (chan, ','); + if (po) + *po = 0; + safe_strcpy (sess->waitchannel, chan, CHANLEN); + } } + else + fe_ctrl_gui (sess_find, 2, 0); /* bring-to-front */ + return TRUE; } return FALSE; diff --git a/src/fe-gtk/about.c b/src/fe-gtk/about.c index 647d6603..54b71053 100644 --- a/src/fe-gtk/about.c +++ b/src/fe-gtk/about.c @@ -143,7 +143,7 @@ menu_about (GtkWidget * wid, gpointer sess) gtk_label_set_markup (GTK_LABEL (label_info), buf); /* label for copyright notices */ - snprintf (buf, sizeof (buf), "<small>\302\251 1998-2010 Peter \305\275elezn\303\275\n\302\251 2009-2012 Berke Viktor</small>"); + snprintf (buf, sizeof (buf), "<small>\302\251 1998-2010 Peter \305\275elezn\303\275\n\302\251 2009-2013 Berke Viktor</small>"); label_copyright = gtk_label_new (NULL); gtk_misc_set_alignment (GTK_MISC (label_copyright), 0, 0); gtk_box_pack_start (GTK_BOX (vbox_text), label_copyright, 0, 0, 10); diff --git a/src/fe-gtk/maingui.c b/src/fe-gtk/maingui.c index 2796b381..41344c8f 100644 --- a/src/fe-gtk/maingui.c +++ b/src/fe-gtk/maingui.c @@ -2856,7 +2856,7 @@ mg_create_entry (session *sess, GtkWidget *box) GTK_SHADOW_IN); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (sw), GTK_POLICY_NEVER, - GTK_POLICY_NEVER); + GTK_POLICY_AUTOMATIC); gtk_container_add (GTK_CONTAINER (sw), entry); gtk_container_add (GTK_CONTAINER (hbox), sw); #else diff --git a/src/fe-gtk/plugin-tray.c b/src/fe-gtk/plugin-tray.c index 3c9bed38..694e4c35 100644 --- a/src/fe-gtk/plugin-tray.c +++ b/src/fe-gtk/plugin-tray.c @@ -173,7 +173,11 @@ fe_tray_set_balloon (const char *title, const char *text) notify_text = strip_color (text, -1, STRIP_ALL|STRIP_ESCMARKUP); notify_title = strip_color (title, -1, STRIP_ALL); - notification = XC_NOTIFY_NEW (notify_title, notify_text, HEXCHATSHAREDIR "/pixmaps/hexchat.png", NULL); + notification = XC_NOTIFY_NEW (notify_title, notify_text, HEXCHATSHAREDIR "/icons/hicolor/scalable/apps/hexchat.svg", NULL); + +#if NOTIFY_CHECK_VERSION(0,7,0) + notify_notification_set_hint (notification, "desktop-entry", g_variant_new_string ("hexchat")); +#endif g_free ((char *)notify_title); g_free ((char *)notify_text); diff --git a/src/fe-gtk/setup.c b/src/fe-gtk/setup.c index e46c5031..f02bc3d7 100644 --- a/src/fe-gtk/setup.c +++ b/src/fe-gtk/setup.c @@ -216,6 +216,7 @@ static const setting inputbox_settings[] = {ST_TOGGLE, N_("Show user mode icon in nick box"), P_OFFINTNL(hex_gui_input_icon),0,0,0}, #if defined(USE_GTKSPELL) || defined(USE_LIBSEXY) {ST_TOGGLE, N_("Spell checking"), P_OFFINTNL(hex_gui_input_spell),0,0,2}, +#ifdef HAVE_ISO_CODES /* Defined with static spelling */ {ST_ENTRY, N_("Dictionaries to use:"), P_OFFSETNL(hex_text_spell_langs),0,0,sizeof prefs.hex_text_spell_langs}, #ifdef WIN32 {ST_LABEL, N_("Use language codes (as in \"share\\myspell\\dicts\").\nSeparate multiple entries with commas.")}, @@ -223,6 +224,7 @@ static const setting inputbox_settings[] = {ST_LABEL, N_("Use language codes. Separate multiple entries with commas.")}, #endif #endif +#endif {ST_HEADER, N_("Nick Completion"),0,0,0}, {ST_TOGGLE, N_("Automatic nick completion (without TAB key)"), P_OFFINTNL(hex_completion_auto), @@ -1514,7 +1516,7 @@ setup_create_color_page (void) setup_create_other_color (_("New message:"), COL_NEW_MSG, 10, tab); setup_create_other_colorR (_("Away user:"), COL_AWAY, 10, tab); setup_create_other_color (_("Highlight:"), COL_HILIGHT, 11, tab); -#if defined(USE_GTKSPELL) || defined(USE_LIBSEXY) +#ifdef HAVE_ISO_CODES /* Defined with static spelling */ setup_create_other_colorR (_("Spell checker:"), COL_SPELL, 11, tab); #endif |