summary refs log tree commit diff stats
path: root/src/fe-gtk
diff options
context:
space:
mode:
Diffstat (limited to 'src/fe-gtk')
-rw-r--r--src/fe-gtk/maingui.c18
-rw-r--r--src/fe-gtk/plugingui.c40
-rw-r--r--src/fe-gtk/setup.c2
-rw-r--r--src/fe-gtk/xtext.c5
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);
 	}