From c7cd049a3435593a83fd823a67f1e5d3344ae14d Mon Sep 17 00:00:00 2001 From: Ricardo Mones Date: Mon, 20 May 2013 23:52:56 +0200 Subject: [PATCH] Reorganise and beautify AttachWarner preferences Use frames to separate options about what to search from the options about where not to search and give it a more pleasant appearance, and, hopefully, make it easier to understand. Reworded skip quotes ckeckbox tip to warn about user-inserted quotation marks. --- src/plugins/attachwarner/attachwarner_prefs.c | 47 ++++++++++++------- 1 file changed, 29 insertions(+), 18 deletions(-) diff --git a/src/plugins/attachwarner/attachwarner_prefs.c b/src/plugins/attachwarner/attachwarner_prefs.c index 82fe167cf..a635d97f9 100644 --- a/src/plugins/attachwarner/attachwarner_prefs.c +++ b/src/plugins/attachwarner/attachwarner_prefs.c @@ -69,7 +69,8 @@ static void attwarner_prefs_create_widget_func(PrefsPage * _page, gpointer data) { struct AttachWarnerPrefsPage *page = (struct AttachWarnerPrefsPage *) _page; - GtkWidget *vbox, *hbox;; + GtkWidget *vbox, *vbox1, *vbox2; + GtkWidget *frame; GtkWidget *label; GtkWidget *scrolledwin; GtkTextBuffer *buffer; @@ -78,17 +79,17 @@ static void attwarner_prefs_create_widget_func(PrefsPage * _page, GtkWidget *skip_signature_checkbox; GtkWidget *case_sensitive_checkbox; - vbox = gtk_vbox_new(FALSE, 6); - hbox = gtk_hbox_new(FALSE, 6); + vbox1 = gtk_vbox_new(FALSE, 6); + vbox2 = gtk_vbox_new(FALSE, 6); - label = gtk_label_new(_("Warn when matching the following regular expressions:\n(one per line)")); + label = gtk_label_new(_("One of the following regular expressions is matched (one per line):")); gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); - gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 6); + gtk_box_pack_start(GTK_BOX(vbox1), label, FALSE, FALSE, 0); - case_sensitive_checkbox = gtk_check_button_new_with_label(_("Case sensitive")); + case_sensitive_checkbox = gtk_check_button_new_with_label(_("Expressions are case sensitive")); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(case_sensitive_checkbox), attwarnerprefs.case_sensitive); - gtk_box_pack_start(GTK_BOX(vbox), case_sensitive_checkbox, FALSE, FALSE, 0); + gtk_box_pack_start(GTK_BOX(vbox1), case_sensitive_checkbox, FALSE, FALSE, 0); gtk_widget_show(case_sensitive_checkbox); CLAWS_SET_TIP(case_sensitive_checkbox, @@ -108,42 +109,52 @@ static void attwarner_prefs_create_widget_func(PrefsPage * _page, gtk_container_add(GTK_CONTAINER(scrolledwin), page->regexp_text); gtk_widget_set_size_request(page->regexp_text, -1, 100); - gtk_box_pack_start(GTK_BOX(vbox), scrolledwin, FALSE, FALSE, 0); + gtk_box_pack_start(GTK_BOX(vbox1), scrolledwin, FALSE, FALSE, 0); - skip_quotes_checkbox = gtk_check_button_new_with_label(_("Skip quoted lines")); + skip_quotes_checkbox = gtk_check_button_new_with_label(_("Lines starting with quotation marks")); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(skip_quotes_checkbox), attwarnerprefs.skip_quotes); - gtk_box_pack_start(GTK_BOX(vbox), skip_quotes_checkbox, FALSE, FALSE, 0); + gtk_box_pack_start(GTK_BOX(vbox2), skip_quotes_checkbox, FALSE, FALSE, 0); gtk_widget_show(skip_quotes_checkbox); CLAWS_SET_TIP(skip_quotes_checkbox, - _("Exclude quoted lines from checking for the regular expressions above")); + _("Exclude quoted lines from checking for the regular expressions above. Note that handmade quotes cannot be distinguished from quotes generated by replying.")); page->skip_quotes_checkbox = skip_quotes_checkbox; - skip_fwd_redir_checkbox = gtk_check_button_new_with_label(_("Skip forwards and redirections")); + skip_fwd_redir_checkbox = gtk_check_button_new_with_label(_("Forwarded or redirected messages")); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(skip_fwd_redir_checkbox), attwarnerprefs.skip_forwards_and_redirections); - gtk_box_pack_start(GTK_BOX(vbox), skip_fwd_redir_checkbox, FALSE, FALSE, 0); + gtk_box_pack_start(GTK_BOX(vbox2), skip_fwd_redir_checkbox, FALSE, FALSE, 0); gtk_widget_show(skip_fwd_redir_checkbox); CLAWS_SET_TIP(skip_fwd_redir_checkbox, _("Don't check for missing attachments when forwarding or redirecting messages")); page->skip_forwards_and_redirections = skip_fwd_redir_checkbox; - skip_signature_checkbox = gtk_check_button_new_with_label(_("Skip signature")); + skip_signature_checkbox = gtk_check_button_new_with_label(_("Signatures")); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(skip_signature_checkbox), attwarnerprefs.skip_signature); - gtk_box_pack_start(GTK_BOX(vbox), skip_signature_checkbox, FALSE, FALSE, 0); + gtk_box_pack_start(GTK_BOX(vbox2), skip_signature_checkbox, FALSE, FALSE, 0); gtk_widget_show(skip_signature_checkbox); CLAWS_SET_TIP(skip_signature_checkbox, _("Exclude lines from the first signature-separator onwards from checking for the regular expressions above")); page->skip_signature = skip_signature_checkbox; - gtk_box_pack_start(GTK_BOX(hbox), vbox, FALSE, FALSE, 6); - gtk_widget_show_all(hbox); + vbox = gtk_vbox_new(FALSE, VSPACING); + gtk_container_set_border_width (GTK_CONTAINER (vbox), VBOX_BORDER); + + PACK_FRAME (vbox, frame, _("Warn when")); + gtk_container_set_border_width(GTK_CONTAINER(vbox1), 6); + gtk_container_add(GTK_CONTAINER(frame), vbox1); + + PACK_FRAME (vbox, frame, _("Excluding")); + gtk_container_set_border_width(GTK_CONTAINER(vbox2), 4); + gtk_container_add(GTK_CONTAINER(frame), vbox2); + + gtk_widget_show_all(vbox); - page->page.widget = hbox; + page->page.widget = vbox; } static void attwarner_prefs_destroy_widget_func(PrefsPage *_page) -- 2.25.1