summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorRichardHitt <rbh00@netcom.com>2012-12-03 13:29:35 -0800
committerRichardHitt <rbh00@netcom.com>2012-12-03 13:29:35 -0800
commit6e5a48daedaf15b27416e3ad68444ad3ec3d16a0 (patch)
tree9e01becfa542d0a567c54330233c6a7fb68688ec
parent813691f1ec03a12e6792f066e6d70451132a588f (diff)
parent18f248cdbece0adbff326e8eb9f5f9c316d21dc4 (diff)
Merge pull request #297 from TingPing/util
allow plugingui to open as tab
-rw-r--r--src/fe-gtk/plugingui.c40
1 files changed, 15 insertions, 25 deletions
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);
 }