2005-12-06 [paul] 1.9.100cvs69
[claws.git] / src / plugins / dillo_viewer / dillo_prefs.c
index b432fa26fc75a849409401e3ef14cc9783c0169c..65edec3e55ce158ec8098a4c2695ab18b756cdd7 100644 (file)
@@ -14,7 +14,7 @@
  *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
  */
 
 /*
 #include "defs.h"
 
 #include <glib.h>
+#include <glib/gi18n.h>
 #include <gtk/gtk.h>
 
-#include "intl.h"
-#include "common/utils.h"
+#include "gtkutils.h"
+#include "utils.h"
 #include "prefs.h"
 #include "prefs_gtk.h"
 #include "prefswindow.h"
@@ -42,9 +43,9 @@
 
 #define PREFS_BLOCK_NAME "Dillo"
 
-DilloBrowserPrefs_t dillo_prefs;
+DilloBrowserPrefs dillo_prefs;
 
-typedef struct _DilloBrowserPage DilloBrowserPage_t;
+typedef struct _DilloBrowserPage DilloBrowserPage;
 
 struct _DilloBrowserPage {
         PrefsPage page;
@@ -58,18 +59,29 @@ static PrefParam param[] = {
         {0,0,0,0,0,0,0}
 };
 
-DilloBrowserPage_t prefs_page;
+DilloBrowserPage prefs_page;
 
-static void create_dillo_prefs_page    (PrefsPage *, GtkWindow *, gpointer);
-static void destroy_dillo_prefs_page   (PrefsPage *);
-static void save_dillo_prefs           (PrefsPage *);
+static void create_dillo_prefs_page    (PrefsPage *page,
+                                        GtkWindow *window,
+                                        gpointer   data);
+static void destroy_dillo_prefs_page   (PrefsPage *page);
+static void save_dillo_prefs           (PrefsPage *page);
 
 void dillo_prefs_init(void)
 {
+       static gchar *path[3];
+       gchar *rcpath;
+
+       path[0] = _("Plugins");
+       path[1] = _("Dillo Browser");
+       path[2] = NULL;
+
         prefs_set_default(param);
-        prefs_read_config(param, PREFS_BLOCK_NAME, COMMON_RC);
+       rcpath = g_strconcat(get_rc_dir(), G_DIR_SEPARATOR_S, COMMON_RC, NULL);
+        prefs_read_config(param, PREFS_BLOCK_NAME, rcpath, NULL);
+       g_free(rcpath);
         
-        prefs_page.page.path = "Message View/Dillo Browser";
+        prefs_page.page.path = path;
         prefs_page.page.create_widget = create_dillo_prefs_page;
         prefs_page.page.destroy_widget = destroy_dillo_prefs_page;
         prefs_page.page.save_page = save_dillo_prefs;
@@ -86,37 +98,46 @@ static void create_dillo_prefs_page(PrefsPage *page,
                                    GtkWindow *window,
                                     gpointer data)
 {
-        DilloBrowserPage_t *prefs_page = (DilloBrowserPage_t *) page;
+        DilloBrowserPage *prefs_page = (DilloBrowserPage *) page;
 
         GtkWidget *vbox;
         GtkWidget *local_checkbox;
         GtkWidget *full_checkbox;
         GtkWidget *label;
+       GtkTooltips *local_tooltip;
+       GtkTooltips *full_tooltip;
 
         vbox = gtk_vbox_new(FALSE, 3);
-        gtk_widget_ref(vbox);
-        gtk_container_set_border_width(GTK_CONTAINER(vbox), 3);
+        gtk_container_set_border_width(GTK_CONTAINER(vbox), VBOX_BORDER);
         gtk_widget_show(vbox);
         
+       local_tooltip = gtk_tooltips_new();
         local_checkbox = gtk_check_button_new_with_label
-                               ("Don't Follow Links in Mails");
-        gtk_widget_ref(local_checkbox);
+                               (_("Do not load remote links in mails"));
         gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(local_checkbox),
                                      dillo_prefs.local);
         gtk_box_pack_start(GTK_BOX(vbox), local_checkbox, FALSE, FALSE, 0);
         gtk_widget_show(local_checkbox);
+       gtk_tooltips_set_tip(GTK_TOOLTIPS(local_tooltip), local_checkbox,
+                            _("Equivalent to Dillo's '--local' option"), NULL);
         
-       label = gtk_label_new("(You can always allow following links\n"
-                             "by reloading the page)");
+       label = gtk_label_new(_("You can still load remote links "
+                             "by reloading the page"));
         gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 0);
+       gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5);
+       gtkut_widget_set_small_font_size (label);
         gtk_widget_show(label);
 
-        full_checkbox = gtk_check_button_new_with_label("Full Screen Mode");
-        gtk_widget_ref(full_checkbox);
+       full_tooltip = gtk_tooltips_new();
+        full_checkbox = gtk_check_button_new_with_label
+                               (_("Full window mode (hide controls)"));
         gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(full_checkbox),
                                       dillo_prefs.full);
         gtk_box_pack_start(GTK_BOX(vbox), full_checkbox, FALSE, FALSE, 0);
         gtk_widget_show(full_checkbox);
+       gtk_tooltips_set_tip(GTK_TOOLTIPS(full_tooltip), full_checkbox,
+                            _("Equivalent to Dillo's '--fullwindow' option"),
+                            NULL);
         
         prefs_page->local = local_checkbox;
         prefs_page->full = full_checkbox;
@@ -125,16 +146,12 @@ static void create_dillo_prefs_page(PrefsPage *page,
 
 static void destroy_dillo_prefs_page(PrefsPage *page)
 {
-        DilloBrowserPage_t *prefs_page = (DilloBrowserPage_t *) page;
-
-        gtk_widget_destroy(GTK_WIDGET(prefs_page->local));
-        gtk_widget_destroy(GTK_WIDGET(prefs_page->full));
-        gtk_widget_destroy(GTK_WIDGET(prefs_page->page.widget));
+       /* Do nothing! */
 }
 
 static void save_dillo_prefs(PrefsPage *page)
 {
-        DilloBrowserPage_t *prefs_page = (DilloBrowserPage_t *) page;
+        DilloBrowserPage *prefs_page = (DilloBrowserPage *) page;
         PrefFile *pref_file;
         gchar *rc_file_path = g_strconcat(get_rc_dir(), G_DIR_SEPARATOR_S,
                                           COMMON_RC, NULL);