2007-07-09 [colin] 2.10.0cvs10
[claws.git] / src / prefs_toolbar.c
index 5f22dbb02c499b989f7ad00243b64efcf87a82d7..862b6f5dfb2098135511675aa91f8b0370382c66 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * Sylpheed -- a GTK+ based, lightweight, and fast e-mail client
- * Copyright (C) 2002-2006 Hiroyuki Yamamoto & the Sylpheed-Claws team
+ * Copyright (C) 2002-2007 Hiroyuki Yamamoto & the Claws Mail team
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -124,7 +124,7 @@ static gboolean set_list_selected            (GtkTreeSelection *selector,
                                                  gboolean currently_selected,
                                                  ToolbarPage *prefs_toolbar);
 
-void prefs_toolbar_create_widget(PrefsPage *_page, GtkWindow *window, gpointer data)
+static void prefs_toolbar_create_widget(PrefsPage *_page, GtkWindow *window, gpointer data)
 {
        ToolbarPage *prefs_toolbar = (ToolbarPage *) _page;
        gchar *win_titles[3];
@@ -140,7 +140,7 @@ void prefs_toolbar_create_widget(PrefsPage *_page, GtkWindow *window, gpointer d
        prefs_toolbar_populate(prefs_toolbar);
 }
 
-void prefs_toolbar_save(PrefsPage *_page)
+static void prefs_toolbar_save(PrefsPage *_page)
 {
        ToolbarPage *prefs_toolbar = (ToolbarPage *) _page;
        GtkTreeView *list_view = GTK_TREE_VIEW(prefs_toolbar->list_view_set);
@@ -293,8 +293,10 @@ static void prefs_toolbar_populate(ToolbarPage *prefs_toolbar)
                g_list_free(syl_actions);
        }
 
-       for (i = 0; i < STOCK_PIXMAP_SYLPHEED_LOGO; i++) {
+       for (i = 0; i < STOCK_PIXMAP_EMPTY; i++) {
                GdkPixbuf *pixbuf;
+               if (i == STOCK_PIXMAP_CLAWS_MAIL_LOGO)
+                       continue;/* that's too big */
 
                stock_pixbuf_gdk(prefs_toolbar->window, i, &pixbuf);
                
@@ -365,6 +367,8 @@ static void prefs_toolbar_default(GtkButton *button, ToolbarPage *prefs_toolbar)
 static void get_action_name(const gchar *entry, gchar **menu)
 {
        gchar *act, *act_p;
+       
+       *menu = NULL;
 
        if (prefs_common.actions_list != NULL) {
                
@@ -385,7 +389,7 @@ static void prefs_toolbar_register(GtkButton *button, ToolbarPage *prefs_toolbar
        gchar *syl_act = toolbar_ret_descr_from_val(A_SYL_ACTIONS);
        GtkListStore *store_set;
        GtkTreeIter iter;
-       gchar *fname;
+       gchar *fname = NULL;
 
        /* move selection in icon list view to set list view */
 
@@ -439,15 +443,17 @@ static void prefs_toolbar_register(GtkButton *button, ToolbarPage *prefs_toolbar
                        text = gtk_editable_get_chars
                                (GTK_EDITABLE(prefs_toolbar->entry_icon_text), 0, -1);
 
-               gtk_list_store_append(store_set, &iter);
-               gtk_list_store_set(store_set, &iter,
-                                  SET_ICON, pixbuf,
-                                  SET_FILENAME, fname,
-                                  SET_TEXT, text,
-                                  SET_EVENT, event,
-                                  SET_ICON_TEXT, NULL,
-                                  SET_ICON_IS_TEXT, FALSE,
-                                  -1);
+               if (text != NULL) {
+                       gtk_list_store_append(store_set, &iter);
+                       gtk_list_store_set(store_set, &iter,
+                                          SET_ICON, pixbuf,
+                                          SET_FILENAME, fname,
+                                          SET_TEXT, text,
+                                          SET_EVENT, event,
+                                          SET_ICON_TEXT, NULL,
+                                          SET_ICON_IS_TEXT, FALSE,
+                                          -1);
+               }
                g_free(text);
                g_free(event);
        }
@@ -532,15 +538,16 @@ static void prefs_toolbar_substitute(GtkButton *button, ToolbarPage *prefs_toolb
                }
 
                /* change the row */
-               gtk_list_store_set(store_set, &iter_set,
-                                  SET_ICON, pixbuf,
-                                  SET_FILENAME, icon_fname,
-                                  SET_TEXT, text,
-                                  SET_EVENT, icon_event,
-                                  SET_ICON_TEXT, NULL,
-                                  SET_ICON_IS_TEXT, FALSE,
-                                  -1);
-       
+               if (text != NULL) {
+                       gtk_list_store_set(store_set, &iter_set,
+                                          SET_ICON, pixbuf,
+                                          SET_FILENAME, icon_fname,
+                                          SET_TEXT, text,
+                                          SET_EVENT, icon_event,
+                                          SET_ICON_TEXT, NULL,
+                                          SET_ICON_IS_TEXT, FALSE,
+                                          -1);
+               }       
                g_free(icon_event);
                g_free(set_event);
                g_free(text);
@@ -638,7 +645,7 @@ static void prefs_toolbar_selection_changed(GtkList *list,
        if (g_utf8_collate(cur_entry, actions_entry) == 0) {
                gtk_widget_hide(prefs_toolbar->entry_icon_text);
                gtk_widget_show(prefs_toolbar->combo_syl_action);
-               gtk_label_set_text(GTK_LABEL(prefs_toolbar->label_icon_text), _("Sylpheed-Claws Action"));
+               gtk_label_set_text(GTK_LABEL(prefs_toolbar->label_icon_text), _("Claws Mail Action"));
 
                if (prefs_common.actions_list == NULL) {
                    gtk_widget_set_sensitive(prefs_toolbar->combo_syl_action, FALSE);
@@ -663,6 +670,9 @@ static void prefs_toolbar_create(ToolbarPage *prefs_toolbar)
        GtkWidget *reg_hbox;
        GtkWidget *arrow;
        GtkWidget *btn_hbox;
+#ifdef MAEMO
+       GtkWidget *hbox;
+#endif
        GtkWidget *reg_btn;
        GtkWidget *subst_btn;
        GtkWidget *del_btn;
@@ -783,7 +793,7 @@ static void prefs_toolbar_create(ToolbarPage *prefs_toolbar)
                         G_CALLBACK(prefs_toolbar_register), 
                         prefs_toolbar);
 
-       subst_btn = gtk_button_new_with_label(_("  Replace  "));
+       subst_btn = gtkut_get_replace_btn(_("Replace"));
        gtk_box_pack_start(GTK_BOX(btn_hbox), subst_btn, FALSE, TRUE, 0);
        g_signal_connect(G_OBJECT(subst_btn), "clicked",
                         G_CALLBACK(prefs_toolbar_substitute),
@@ -796,7 +806,13 @@ static void prefs_toolbar_create(ToolbarPage *prefs_toolbar)
                          prefs_toolbar);
 
        default_btn = gtk_button_new_with_label(_(" Use default "));
+#ifndef MAEMO
        gtk_box_pack_end(GTK_BOX(reg_hbox), default_btn, FALSE, TRUE, 0);
+#else
+       hbox = gtk_hbox_new(FALSE, 0);
+       gtk_box_pack_start(GTK_BOX(main_vbox), hbox, FALSE, FALSE, 0);
+       gtk_box_pack_start(GTK_BOX(hbox), default_btn, FALSE, FALSE, 0);
+#endif
        g_signal_connect(G_OBJECT(default_btn), "clicked",
                         G_CALLBACK(prefs_toolbar_default), 
                         prefs_toolbar);
@@ -1000,7 +1016,7 @@ static GtkWidget *create_icon_list_view(ToolbarPage *prefs_toolbar)
        gtk_tree_view_append_column(list_view, column);
 
        /* various other tree view attributes */
-       gtk_tree_view_set_rules_hint(list_view, prefs_common.enable_rules_hint);
+       gtk_tree_view_set_rules_hint(list_view, prefs_common.use_stripes_everywhere);
        gtk_tree_view_set_headers_visible(list_view, FALSE);
        
        selector = gtk_tree_view_get_selection(list_view);
@@ -1083,7 +1099,7 @@ static GtkWidget *create_set_list_view(ToolbarPage *prefs_toolbar)
        gtk_tree_view_append_column(list_view, column);
 
        /* various other tree view attributes */
-       gtk_tree_view_set_rules_hint(list_view, prefs_common.enable_rules_hint);
+       gtk_tree_view_set_rules_hint(list_view, prefs_common.use_stripes_everywhere);
        
        selector = gtk_tree_view_get_selection(list_view);
        gtk_tree_selection_set_mode(selector, GTK_SELECTION_BROWSE);