+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
( 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
MICRO_VERSION=15
INTERFACE_AGE=0
BINARY_AGE=0
-EXTRA_VERSION=46
+EXTRA_VERSION=47
EXTRA_RELEASE=
EXTRA_GTK2_VERSION=
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);
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);
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);
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);
return pass;
}
-static void input_dialog_create(void)
+static void input_dialog_create(gboolean is_password)
{
static PangoFontDescription *font_desc;
GtkWidget *w_hbox;
/* 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);
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);
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);
{"/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},
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) {
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;
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();
const gchar *uid = NULL, *info = NULL;
gchar *buf;
GtkWidget *label;
-
+ gchar *my_uid = NULL;
if (!uid_hint)
uid = _("[no user id]");
else
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);
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();
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);
}
/*!
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);