2006-08-14 [cleroy] 2.4.0cvs50
[claws.git] / src / gtk / pluginwindow.c
index 86b60d5c3133955b1d1f5111ed75836bc506086e..9fd54e230e2211e2ef09f6ce5e78d0c9080c3100 100644 (file)
 #include <gtk/gtk.h>
 #include <gdk/gdkkeysyms.h>
 
+#include "defs.h"
 #include "plugin.h"
 
 #include "filesel.h"
 #include "alertpanel.h"
 #include "prefs_common.h"
 #include "../inc.h"
+#include "manual.h"
 
 enum {
        PLUGINWINDOW_NAME,              /*<! plugin name */
@@ -264,10 +266,13 @@ void pluginwindow_create()
        GtkWidget *label13;
        GtkWidget *scrolledwindow3;
        GtkWidget *plugin_desc;
-       GtkWidget *hbuttonbox1;
+       GtkWidget *hbuttonbox1, *hbox3;
+       GtkWidget *help_btn;
        GtkWidget *load_btn;
        GtkWidget *unload_btn;
        GtkWidget *close_btn;
+       GtkWidget *get_more_btn;
+       GtkWidget *desc_lbl;
        static GdkGeometry geometry;
        
        debug_print("Creating plugins window...\n");
@@ -282,6 +287,18 @@ void pluginwindow_create()
        vbox1 = gtk_vbox_new(FALSE, 4);
        gtk_widget_show(vbox1);
        gtk_container_add(GTK_CONTAINER(window), vbox1);
+       gtk_box_set_homogeneous(GTK_BOX(vbox1), FALSE);
+       gtk_widget_realize(window);
+
+       desc_lbl = gtk_label_new(_("Plugins are a way to greatly extend Sylpheed-Claws' capabilities."));
+       gtk_misc_set_alignment(GTK_MISC(desc_lbl), 0, 0.5);
+       gtk_widget_show(desc_lbl);
+       gtk_box_pack_start(GTK_BOX(vbox1), desc_lbl, FALSE, FALSE, 0);
+
+       get_more_btn = gtkut_get_link_btn(window, PLUGINS_URI, _("Get more..."));
+       gtk_misc_set_alignment(GTK_MISC(GTK_BIN(get_more_btn)->child), 0, 0.5);
+       gtk_widget_show(get_more_btn);
+       gtk_box_pack_start(GTK_BOX(vbox1), get_more_btn, FALSE, FALSE, 0);
 
        hbox2 = gtk_hbox_new(FALSE, 8);
        gtk_widget_show(hbox2);
@@ -324,38 +341,33 @@ void pluginwindow_create()
        gtk_widget_show(plugin_desc);
        gtk_container_add(GTK_CONTAINER(scrolledwindow3), plugin_desc);
 
+       hbox3 = gtk_hbox_new(FALSE, 0);
+       gtk_widget_show(hbox3);
        hbuttonbox1 = gtk_hbutton_box_new();
        gtk_widget_show(hbuttonbox1);
-       gtk_box_pack_start(GTK_BOX(vbox1), hbuttonbox1, FALSE, FALSE, 0);
-       gtk_button_box_set_layout(GTK_BUTTON_BOX(hbuttonbox1),
-                                 GTK_BUTTONBOX_END);
-       gtk_button_box_set_spacing(GTK_BUTTON_BOX(hbuttonbox1), 6);
-
-       load_btn = gtk_button_new_with_label(_("Load Plugin..."));
-       gtk_widget_show(load_btn);
-       gtk_container_add(GTK_CONTAINER(hbuttonbox1), load_btn);
-       GTK_WIDGET_SET_FLAGS(load_btn, GTK_CAN_DEFAULT);
 
-       unload_btn = gtk_button_new_with_label(_("Unload Plugin"));
-       gtk_widget_show(unload_btn);
-       gtk_container_add(GTK_CONTAINER(hbuttonbox1), unload_btn);
-       GTK_WIDGET_SET_FLAGS(unload_btn, GTK_CAN_DEFAULT);
+       gtk_box_pack_start(GTK_BOX(hbox3), hbuttonbox1, FALSE, FALSE, 0);
+       gtk_box_pack_start(GTK_BOX(vbox1), hbox3, FALSE, FALSE, 0);
 
-       close_btn = gtk_button_new_from_stock(GTK_STOCK_CLOSE);
-       gtk_widget_show(close_btn);
-       gtk_container_add(GTK_CONTAINER(hbuttonbox1), close_btn);
-       GTK_WIDGET_SET_FLAGS(close_btn, GTK_CAN_DEFAULT);
-       /* ----------------------------------------------------------- */
+       gtkut_stock_button_set_create_with_help(&hbuttonbox1, &help_btn,
+                       &load_btn, _("Load Plugin..."),
+                       &unload_btn, _("Unload Plugin"),
+                       &close_btn, GTK_STOCK_CLOSE);
+       gtk_button_box_set_spacing(GTK_BUTTON_BOX(hbuttonbox1), 6);
+       gtk_widget_show(hbuttonbox1);
+       gtk_box_pack_end (GTK_BOX (hbox3), hbuttonbox1, FALSE, FALSE, 0);
 
        gtk_text_view_set_wrap_mode(GTK_TEXT_VIEW(plugin_desc), GTK_WRAP_WORD);
        gtk_widget_set_sensitive(GTK_WIDGET(unload_btn), FALSE);
 
-
-       g_signal_connect(G_OBJECT(load_btn), "released",
+       g_signal_connect(G_OBJECT(help_btn), "clicked",
+                        G_CALLBACK(manual_open_with_anchor_cb),
+                        MANUAL_ANCHOR_PLUGINS);
+       g_signal_connect(G_OBJECT(load_btn), "clicked",
                         G_CALLBACK(load_cb), pluginwindow);
-       g_signal_connect(G_OBJECT(unload_btn), "released",
+       g_signal_connect(G_OBJECT(unload_btn), "clicked",
                         G_CALLBACK(unload_cb), pluginwindow);
-       g_signal_connect(G_OBJECT(close_btn), "released",
+       g_signal_connect(G_OBJECT(close_btn), "clicked",
                         G_CALLBACK(close_cb), pluginwindow);
        g_signal_connect(G_OBJECT(window), "size_allocate",
                         G_CALLBACK(pluginwindow_size_allocate_cb), NULL);
@@ -425,7 +437,7 @@ static void pluginwindow_create_list_view_columns(GtkWidget *list_view)
 
        renderer = gtk_cell_renderer_text_new();
        column = gtk_tree_view_column_new_with_attributes
-               (_("Plugins"),
+               (_("Loaded plugins"),
                 renderer,
                 "text", PLUGINWINDOW_NAME,
                 "style", PLUGINWINDOW_STYLE,