2005-10-14 [colin] 1.9.15cvs47
authorColin Leroy <colin@colino.net>
Fri, 14 Oct 2005 17:18:43 +0000 (17:18 +0000)
committerColin Leroy <colin@colino.net>
Fri, 14 Oct 2005 17:18:43 +0000 (17:18 +0000)
* src/mainwindow.c
set relief on the account switcher so that people see it
grey out Create processing rules when no message is selected
* src/prefs_filtering.c
ask before closing if the rule has not been modified, even if
it's not valid
* src/prefs_matcher.c
fix sensitivity when entering the dialog
* src/gtk/inputdialog.c
display a better icon on password ask
* src/plugins/pgpcore/passphrase.c
make the dialog look better

ChangeLog-gtk2.claws
PATCHSETS
configure.ac
src/gtk/inputdialog.c
src/mainwindow.c
src/plugins/pgpcore/passphrase.c
src/prefs_filtering.c
src/prefs_matcher.c

index 5327f8c839945c38fe1c01d31992ddc6eb8a1175..6c125ac1871872d9a1ced354e9742204d926e0de 100644 (file)
@@ -1,3 +1,18 @@
+2005-10-14 [colin]     1.9.15cvs47
+
+       * src/mainwindow.c
+               set relief on the account switcher so that people see it
+               grey out Create processing rules when no message is selected
+       * src/prefs_filtering.c
+               ask before closing if the rule has not been modified, even if
+               it's not valid
+       * src/prefs_matcher.c
+               fix sensitivity when entering the dialog
+       * src/gtk/inputdialog.c
+               display a better icon on password ask
+       * src/plugins/pgpcore/passphrase.c
+               make the dialog look better
+
 2005-10-14 [paul]      1.9.15cvs46
 
        * src/folderview.c
index 3ca7126fae27f8c3957f7869d2a156d152cb8262..0904c2526c822d6ed8ec4af6706c6c74d20834b5 100644 (file)
--- a/PATCHSETS
+++ b/PATCHSETS
 ( cvs diff -u -r 1.83.2.43 -r 1.83.2.44 src/mimeview.c;  cvs diff -u -r 1.5.2.10 -r 1.5.2.11 src/noticeview.c;  cvs diff -u -r 1.3.8.5 -r 1.3.8.6 src/noticeview.h;  ) > 1.9.15cvs44.patchset
 ( cvs diff -u -r 1.60.2.24 -r 1.60.2.25 src/prefs_actions.c;  cvs diff -u -r 1.204.2.61 -r 1.204.2.62 src/prefs_common.c;  cvs diff -u -r 1.103.2.31 -r 1.103.2.32 src/prefs_common.h;  cvs diff -u -r 1.1.4.20 -r 1.1.4.21 src/prefs_filtering_action.c;  cvs diff -u -r 1.43.2.26 -r 1.43.2.27 src/prefs_matcher.c;  cvs diff -u -r 1.12.2.15 -r 1.12.2.16 src/prefs_template.c;  ) > 1.9.15cvs45.patchset
 ( cvs diff -u -r 1.207.2.72 -r 1.207.2.73 src/folderview.c;  ) > 1.9.15cvs46.patchset
+( cvs diff -u -r 1.274.2.73 -r 1.274.2.74 src/mainwindow.c;  cvs diff -u -r 1.59.2.24 -r 1.59.2.25 src/prefs_filtering.c;  cvs diff -u -r 1.43.2.27 -r 1.43.2.28 src/prefs_matcher.c;  cvs diff -u -r 1.2.2.11 -r 1.2.2.12 src/gtk/inputdialog.c;  cvs diff -u -r 1.1.2.5 -r 1.1.2.6 src/plugins/pgpcore/passphrase.c;  ) > 1.9.15cvs47.patchset
index 8422c5ce77bc08bc48a4b05a0810fdc997db64e3..1d8d2fb0a1d1e113faa7f812b01960b4c097f875 100644 (file)
@@ -11,7 +11,7 @@ MINOR_VERSION=9
 MICRO_VERSION=15
 INTERFACE_AGE=0
 BINARY_AGE=0
-EXTRA_VERSION=46
+EXTRA_VERSION=47
 EXTRA_RELEASE=
 EXTRA_GTK2_VERSION=
 
index 9d93ee1c29713f6f531ecf5779cf1ffa8fac6b9b..35096ea3bcfac274934110018b783fb14bc09807 100644 (file)
@@ -65,7 +65,7 @@ static GtkWidget *entry;
 static GtkWidget *combo;
 static GtkWidget *ok_button;
 
-static void input_dialog_create        (void);
+static void input_dialog_create        (gboolean is_password);
 static gchar *input_dialog_open        (const gchar    *title,
                                 const gchar    *message,
                                 const gchar    *default_string);
@@ -93,7 +93,7 @@ gchar *input_dialog(const gchar *title, const gchar *message,
        if (dialog && GTK_WIDGET_VISIBLE(dialog)) return NULL;
 
        if (!dialog)
-               input_dialog_create();
+               input_dialog_create(FALSE);
 
        type = INPUT_DIALOG_NORMAL;
        gtk_widget_hide(combo);
@@ -109,7 +109,7 @@ gchar *input_dialog_with_invisible(const gchar *title, const gchar *message,
        if (dialog && GTK_WIDGET_VISIBLE(dialog)) return NULL;
 
        if (!dialog)
-               input_dialog_create();
+               input_dialog_create(TRUE);
 
        type = INPUT_DIALOG_INVISIBLE;
        gtk_widget_hide(combo);
@@ -126,7 +126,7 @@ gchar *input_dialog_combo(const gchar *title, const gchar *message,
        if (dialog && GTK_WIDGET_VISIBLE(dialog)) return NULL;
 
        if (!dialog)
-               input_dialog_create();
+               input_dialog_create(FALSE);
 
        type = INPUT_DIALOG_COMBO;
        gtk_widget_hide(entry);
@@ -160,7 +160,7 @@ gchar *input_dialog_query_password(const gchar *server, const gchar *user)
        return pass;
 }
 
-static void input_dialog_create(void)
+static void input_dialog_create(gboolean is_password)
 {
        static PangoFontDescription *font_desc;
        GtkWidget *w_hbox;
@@ -192,7 +192,11 @@ static void input_dialog_create(void)
        /* for title label */
        w_hbox = gtk_hbox_new(FALSE, 0);
        
-       icon = gtk_image_new_from_stock(GTK_STOCK_DIALOG_QUESTION,
+       if (!is_password)
+               icon = gtk_image_new_from_stock(GTK_STOCK_DIALOG_QUESTION,
+                                       GTK_ICON_SIZE_DIALOG); 
+       else
+               icon = gtk_image_new_from_stock(GTK_STOCK_DIALOG_AUTHENTICATION,
                                        GTK_ICON_SIZE_DIALOG); 
        gtk_misc_set_alignment (GTK_MISC (icon), 0.5, 0.0);
        gtk_box_pack_start (GTK_BOX (hbox), icon, FALSE, FALSE, 0);
@@ -266,7 +270,7 @@ static gchar *input_dialog_open(const gchar *title, const gchar *message,
        if (dialog && GTK_WIDGET_VISIBLE(dialog)) return NULL;
 
        if (!dialog)
-               input_dialog_create();
+               input_dialog_create(FALSE);
 
        input_dialog_set(title, message, default_string);
        gtk_widget_show(dialog);
index 336ff6a57cbc6df1460304c1eb51ea9ee6afd69f..c3435ecf1e70f0301faeb701ee568fec6f7c6d07 100644 (file)
@@ -963,7 +963,6 @@ MainWindow *main_window_create(SeparateType type)
        ac_button = gtk_button_new();
        gtk_tooltips_set_tip(GTK_TOOLTIPS(sel_ac_tip),
                             ac_button, _("Select account"), NULL);
-       gtk_button_set_relief(GTK_BUTTON(ac_button), GTK_RELIEF_NONE);
        GTK_WIDGET_UNSET_FLAGS(ac_button, GTK_CAN_FOCUS);
        gtk_widget_set_size_request(ac_button, -1, 0);
        gtk_box_pack_end(GTK_BOX(hbox_stat), ac_button, FALSE, FALSE, 0);
@@ -1855,6 +1854,7 @@ void main_window_set_menu_sensitive(MainWindow *mainwin)
                {"/Tools/Filter all messages in folder", M_MSG_EXIST|M_EXEC|M_UNLOCKED},
                {"/Tools/Filter selected messages"     , M_TARGET_EXIST|M_EXEC|M_UNLOCKED},
                {"/Tools/Create filter rule"           , M_SINGLE_TARGET_EXIST|M_UNLOCKED},
+               {"/Tools/Create processing rule"       , M_SINGLE_TARGET_EXIST|M_UNLOCKED},
                {"/Tools/Actions"                      , M_TARGET_EXIST|M_UNLOCKED},
                {"/Tools/Execute"                      , M_DELAY_EXEC},
                {"/Tools/Delete duplicated messages/In selected folder"   , M_MSG_EXIST|M_ALLOW_DELETE|M_UNLOCKED},
@@ -3142,7 +3142,6 @@ static void account_selector_menu_cb(GtkMenuItem *menuitem, gpointer data)
        toolbar_update(TOOLBAR_MAIN, mainwindow_get_mainwindow());
        main_window_set_menu_sensitive(mainwindow_get_mainwindow());
        toolbar_main_set_sensitive(mainwindow_get_mainwindow());
-       gtk_button_set_relief(GTK_BUTTON(mainwindow_get_mainwindow()->ac_button), GTK_RELIEF_NONE);
        item = folderview_get_selected_item(
                        mainwindow_get_mainwindow()->folderview);
        if (item) {
index 0e177f46607c22a8319783acf6f070bd06bd91bb..6756af18d797390742bdc657ed4460cba2b0639a 100644 (file)
@@ -80,7 +80,7 @@ static gchar*
 passphrase_mbox(const gchar *uid_hint, const gchar *pass_hint, gint prev_bad)
 {
     gchar *the_passphrase = NULL;
-    GtkWidget *vbox;
+    GtkWidget *vbox, *hbox;
     GtkWidget *confirm_box;
     GtkWidget *window;
     GtkWidget *pass_entry;
@@ -109,9 +109,17 @@ passphrase_mbox(const gchar *uid_hint, const gchar *pass_hint, gint prev_bad)
     gtk_container_set_border_width(GTK_CONTAINER(vbox), 8);
 
     if (uid_hint || pass_hint) {
-        GtkWidget *label;
+        GtkWidget *label, *icon;
         label = create_description (uid_hint, pass_hint, prev_bad);
-        gtk_box_pack_start (GTK_BOX(vbox), label, FALSE, FALSE, 0);
+       icon = gtk_image_new_from_stock(GTK_STOCK_DIALOG_AUTHENTICATION,
+                               GTK_ICON_SIZE_DIALOG); 
+
+       hbox = gtk_hbox_new (FALSE, 12);
+       gtk_container_set_border_width (GTK_CONTAINER (hbox), 5);
+       gtk_widget_show (hbox);
+        gtk_box_pack_start (GTK_BOX(hbox), icon, FALSE, FALSE, 0);
+        gtk_box_pack_start (GTK_BOX(hbox), label, FALSE, FALSE, 0);
+        gtk_box_pack_start (GTK_BOX(vbox), hbox, FALSE, FALSE, 0);
     }
 
     pass_entry = gtk_entry_new();
@@ -250,7 +258,7 @@ create_description(const gchar *uid_hint, const gchar *pass_hint, gint prev_bad)
     const gchar *uid = NULL, *info = NULL;
     gchar *buf;
     GtkWidget *label;
-
+    gchar *my_uid = NULL;
     if (!uid_hint)
         uid = _("[no user id]");
     else
@@ -260,14 +268,20 @@ create_description(const gchar *uid_hint, const gchar *pass_hint, gint prev_bad)
     else
         info = pass_hint;
 
-    buf = g_strdup_printf (_("%sPlease enter the passphrase for:\n\n"
-                           "  %.*s  \n"
-                           "(%.*s)\n"),
-                           prev_bad ?
-                           _("Bad passphrase! Try again...\n\n") : "",
-                           linelen (uid), uid, linelen (info), info);
+    my_uid = g_strdup(uid);
+    while (strchr(my_uid, '<')) 
+       *(strchr(my_uid, '<')) = '(';
+    while (strchr(my_uid, '>')) 
+       *(strchr(my_uid, '>')) = ')';
 
+    buf = g_strdup_printf (_("<span weight=\"bold\" size=\"larger\">%sPlease enter the passphrase for:</span>\n\n"
+                           "%.*s\n"),
+                           prev_bad ?
+                           _("Bad passphrase.\n") : "",
+                           linelen (my_uid), my_uid);
+    g_free(my_uid);
     label = gtk_label_new (buf);
+    gtk_label_set_use_markup(GTK_LABEL (label), TRUE);
     gtk_label_set_justify (GTK_LABEL (label), GTK_JUSTIFY_LEFT);
     g_free (buf);
 
index a6f45c5bb35543324e37cfb43ab1bf6d35b34afe..6b83796d8730506dceaaa28d176a53395984f8bc 100644 (file)
@@ -1088,6 +1088,27 @@ static void prefs_filtering_ok(void)
                g_free(filtering_str);
                g_free(str);
                filteringprop_free(prop); /* fixed a leak: huzzah! */
+       } else {
+               gchar *name, *condition, *action;
+               name = gtk_editable_get_chars(GTK_EDITABLE(filtering.name_entry), 0, -1);
+               condition = gtk_editable_get_chars(GTK_EDITABLE(filtering.cond_entry), 0, -1);
+               action = gtk_editable_get_chars(GTK_EDITABLE(filtering.action_entry), 0, -1);
+               if (strlen(name) || 
+                   strlen(condition) || 
+                   strlen(action)) {
+                       val = alertpanel(_("Entry not saved"),
+                                _("The entry was not saved. Close anyway?"),
+                                GTK_STOCK_YES, GTK_STOCK_NO, NULL);
+                       if (G_ALERTDEFAULT != val) {
+                               g_free(name);
+                               g_free(condition);
+                               g_free(action);
+                               return;
+                       }
+               }
+               g_free(name);
+               g_free(condition);
+               g_free(action);
        }
        prefs_filtering_set_list();
        prefs_matcher_write_config();
index 0b262711817c24530c64b176c55650e12f72b299..e723507ca3eab30951e273ee6d6e556cc25d9fdb 100644 (file)
@@ -704,6 +704,9 @@ static void prefs_matcher_create(void)
        matcher.criteria_table = criteria_table;
 
        matcher.cond_list_view = cond_list_view;
+
+       matcher.selected_criteria = -1;
+       prefs_matcher_criteria_select(GTK_LIST(criteria_list), NULL, NULL);
 }
 
 /*!
@@ -1631,7 +1634,7 @@ static void prefs_matcher_ok(void)
 
                                if (!matcher_str || strcmp(matcher_str, str) != 0) {
                                        val = alertpanel(_("Entry not saved"),
-                                                        _("The entry was not saved\nHave you really finished?"),
+                                                        _("The entry was not saved.\nHave you really finished?"),
                                                         GTK_STOCK_YES, GTK_STOCK_NO, NULL);
                                        if (G_ALERTDEFAULT != val) {
                                                g_free(matcher_str);