diff options
Diffstat (limited to 'src/fe-gtk')
-rw-r--r-- | src/fe-gtk/maingui.c | 18 | ||||
-rw-r--r-- | src/fe-gtk/plugingui.c | 40 | ||||
-rw-r--r-- | src/fe-gtk/setup.c | 2 | ||||
-rw-r--r-- | src/fe-gtk/xtext.c | 5 |
4 files changed, 36 insertions, 29 deletions
diff --git a/src/fe-gtk/maingui.c b/src/fe-gtk/maingui.c index 5b37dbb8..e5f79abd 100644 --- a/src/fe-gtk/maingui.c +++ b/src/fe-gtk/maingui.c @@ -2543,6 +2543,12 @@ mg_create_userlist (session_gui *gui, GtkWidget *box) } static void +mg_vpane_cb (GtkPaned *pane, GParamSpec *param, session_gui *gui) +{ + prefs.hex_gui_pane_divider_position = gtk_paned_get_position (pane); +} + +static void mg_leftpane_cb (GtkPaned *pane, GParamSpec *param, session_gui *gui) { prefs.hex_gui_pane_left_size = gtk_paned_get_position (pane); @@ -2570,6 +2576,10 @@ mg_add_pane_signals (session_gui *gui) G_CALLBACK (mg_rightpane_cb), gui); g_signal_connect (G_OBJECT (gui->hpane_left), "notify::position", G_CALLBACK (mg_leftpane_cb), gui); + g_signal_connect (G_OBJECT (gui->vpane_left), "notify::position", + G_CALLBACK (mg_vpane_cb), gui); + g_signal_connect (G_OBJECT (gui->vpane_right), "notify::position", + G_CALLBACK (mg_vpane_cb), gui); return FALSE; } @@ -2756,6 +2766,12 @@ mg_place_userlist_and_chanview_real (session_gui *gui, GtkWidget *userlist, GtkW } } + if (mg_is_userlist_and_tree_combined () && prefs.hex_gui_pane_divider_position != 0) + { + gtk_paned_set_position (GTK_PANED (gui->vpane_left), prefs.hex_gui_pane_divider_position); + gtk_paned_set_position (GTK_PANED (gui->vpane_right), prefs.hex_gui_pane_divider_position); + } + if (unref_chanview) g_object_unref (chanview); if (unref_userlist) @@ -3074,7 +3090,7 @@ mg_tabwindow_de_cb (GtkWidget *widget, GdkEvent *event, gpointer user_data) GSList *list; session *sess; - if (tray_toggle_visibility (FALSE) && prefs.hex_gui_tray_close && !hextray_mode ()) + if (prefs.hex_gui_tray_close && !hextray_mode () && tray_toggle_visibility (FALSE)) return TRUE; /* check for remaining toplevel windows */ diff --git a/src/fe-gtk/plugingui.c b/src/fe-gtk/plugingui.c index e344c336..f10e439c 100644 --- a/src/fe-gtk/plugingui.c +++ b/src/fe-gtk/plugingui.c @@ -43,6 +43,7 @@ typedef struct session hexchat_context; #include "../common/hexchatc.h" #include "../common/cfgfiles.h" #include "gtkutil.h" +#include "maingui.h" /* model for the plugin treeview */ enum @@ -78,17 +79,10 @@ plugingui_treeview_new (GtkWidget *box) col_id++) gtk_tree_view_column_set_alignment (col, 0.5); - gtk_widget_show (view); return view; } static void -plugingui_close_button (GtkWidget * wid, gpointer a) -{ - gtk_widget_destroy (plugin_window); -} - -static void plugingui_close (GtkWidget * wid, gpointer a) { plugin_window = NULL; @@ -213,38 +207,34 @@ void plugingui_open (void) { GtkWidget *view; - GtkWidget *vbox, *action_area; + GtkWidget *vbox, *hbox; if (plugin_window) { - gtk_window_present (GTK_WINDOW (plugin_window)); + mg_bring_tofront (plugin_window); return; } - plugin_window = gtk_dialog_new (); - g_signal_connect (G_OBJECT (plugin_window), "destroy", - G_CALLBACK (plugingui_close), 0); - gtk_window_set_default_size (GTK_WINDOW (plugin_window), 500, 250); - vbox = GTK_DIALOG (plugin_window)->vbox; - action_area = GTK_DIALOG (plugin_window)->action_area; - gtk_container_set_border_width (GTK_CONTAINER (vbox), 4); - gtk_window_set_position (GTK_WINDOW (plugin_window), GTK_WIN_POS_CENTER); - gtk_window_set_title (GTK_WINDOW (plugin_window), _(DISPLAY_NAME": Plugins and Scripts")); + plugin_window = mg_create_generic_tab ("Addons", _(DISPLAY_NAME": Plugins and Scripts"), + FALSE, TRUE, plugingui_close, NULL, + 500, 250, &vbox, 0); view = plugingui_treeview_new (vbox); g_object_set_data (G_OBJECT (plugin_window), "view", view); - gtkutil_button (action_area, GTK_STOCK_REVERT_TO_SAVED, NULL, + + hbox = gtk_hbutton_box_new (); + gtk_button_box_set_layout (GTK_BUTTON_BOX (hbox), GTK_BUTTONBOX_SPREAD); + gtk_container_set_border_width (GTK_CONTAINER (hbox), 5); + gtk_box_pack_end (GTK_BOX (vbox), hbox, 0, 0, 0); + + gtkutil_button (hbox, GTK_STOCK_REVERT_TO_SAVED, NULL, plugingui_loadbutton_cb, NULL, _("_Load...")); - gtkutil_button (action_area, GTK_STOCK_DELETE, NULL, + gtkutil_button (hbox, GTK_STOCK_DELETE, NULL, plugingui_unload, NULL, _("_UnLoad")); - gtkutil_button (action_area, - GTK_STOCK_CLOSE, NULL, plugingui_close_button, - NULL, _("_Close")); - fe_pluginlist_update (); - gtk_widget_show (plugin_window); + gtk_widget_show_all (plugin_window); } diff --git a/src/fe-gtk/setup.c b/src/fe-gtk/setup.c index c572de8c..df31376d 100644 --- a/src/fe-gtk/setup.c +++ b/src/fe-gtk/setup.c @@ -116,7 +116,7 @@ static const char *const langsmenu[] = N_("Czech"), N_("Danish"), N_("Dutch"), - N_("English (Brisith)"), + N_("English (British)"), N_("English"), N_("Estonian"), N_("Finnish"), diff --git a/src/fe-gtk/xtext.c b/src/fe-gtk/xtext.c index 87877b87..611bf090 100644 --- a/src/fe-gtk/xtext.c +++ b/src/fe-gtk/xtext.c @@ -2165,8 +2165,9 @@ gtk_xtext_set_clip_owner (GtkWidget * xtext, GdkEventButton * event) str = gtk_xtext_selection_get_text (GTK_XTEXT (xtext), &len); if (str) { - gtk_clipboard_set_text (gtk_widget_get_clipboard (xtext, GDK_SELECTION_CLIPBOARD), - str, len); + if (str[0]) + gtk_clipboard_set_text (gtk_widget_get_clipboard (xtext, GDK_SELECTION_CLIPBOARD), + str, len); free (str); } |