Allow custom window title for the folder selection dialog.
authorAndrej Kacian <ticho@claws-mail.org>
Thu, 16 Mar 2017 18:14:49 +0000 (19:14 +0100)
committerAndrej Kacian <ticho@claws-mail.org>
Thu, 16 Mar 2017 18:15:18 +0000 (19:15 +0100)
Fixes bug #3582 - Select folder dialogue does not tell what is
selecting for.

18 files changed:
src/compose.c
src/export.c
src/foldersel.c
src/foldersel.h
src/imap_gtk.c
src/import.c
src/mainwindow.c
src/messageview.c
src/mh_gtk.c
src/plugins/archive/archiver_gtk.c
src/plugins/bogofilter/bogofilter_gtk.c
src/plugins/bsfilter/bsfilter_gtk.c
src/plugins/clamd/clamav_plugin_gtk.c
src/plugins/mailmbox/plugin_gtk.c
src/plugins/spamassassin/spamassassin_gtk.c
src/prefs_account.c
src/prefs_filtering_action.c
src/summaryview.c

index 524e853abf522c5744e5a31665ae6d355fcab988..7cd07298759170f68e329eae8b82b26ea3a634f0 100644 (file)
@@ -7446,7 +7446,8 @@ static void compose_savemsg_select_cb(GtkWidget *widget, Compose *compose)
        FolderItem *dest;
        gchar * path;
 
-       dest = foldersel_folder_sel(NULL, FOLDER_SEL_COPY, NULL, FALSE);
+       dest = foldersel_folder_sel(NULL, FOLDER_SEL_COPY, NULL, FALSE,
+                       _("Select folder to save message to"));
        if (!dest) return;
 
        path = folder_item_get_identifier(dest);
index 29bd524fe24fac5341fb5c45d4d5198c9942e0e0..74e465ee22e3a040e1eb8eb4a3740b457e4b62ba 100644 (file)
@@ -264,7 +264,8 @@ static void export_srcsel_cb(GtkWidget *widget, gpointer data)
 {
        FolderItem *src;
 
-       src = foldersel_folder_sel(NULL, FOLDER_SEL_ALL, NULL, FALSE);
+       src = foldersel_folder_sel(NULL, FOLDER_SEL_ALL, NULL, FALSE,
+                       _("Select folder which to export"));
        if (src && src->path)
                gtk_entry_set_text(GTK_ENTRY(src_entry), src->path);
 }
index faf8293193d1905aac871a7fe69abbd4ac9f655e..837763e8e9f1794877a3a7bd906db8fa1f429629 100644 (file)
@@ -83,7 +83,7 @@ static GtkTreeStore *tree_store;
 static gboolean cancelled;
 static gboolean finished;
 
-static void foldersel_create           (void);
+static void foldersel_create           (const gchar *title);
 static void foldersel_init             (void);
 
 static void foldersel_append_item      (GtkTreeStore   *store,
@@ -133,13 +133,14 @@ static gboolean tree_view_folder_item_func        (GtkTreeModel     *model,
                                                 FolderItemSearch *data);
 
 FolderItem *foldersel_folder_sel(Folder *cur_folder, FolderSelectionType type,
-                                const gchar *default_folder, gboolean can_sel_mailbox)
+                                const gchar *default_folder, gboolean can_sel_mailbox,
+                                const gchar *title)
 {
        selected_item = NULL;
        root_selectable = can_sel_mailbox;
 
        if (!window) {
-               foldersel_create();
+               foldersel_create(title);
                foldersel_init();
        }
 
@@ -234,7 +235,7 @@ static void foldersel_size_allocate_cb(GtkWidget *widget,
        prefs_common.folderselwin_height = allocation->height;
 }
 
-static void foldersel_create(void)
+static void foldersel_create(const gchar *title)
 {
        GtkWidget *vbox;
        GtkWidget *scrolledwin;
@@ -245,7 +246,8 @@ static void foldersel_create(void)
        static GdkGeometry geometry;
 
        window = gtkut_window_new(GTK_WINDOW_TOPLEVEL, "foldersel");
-       gtk_window_set_title(GTK_WINDOW(window), _("Select folder"));
+       gtk_window_set_title(GTK_WINDOW(window),
+                       title ? title : _("Select folder"));
        gtk_container_set_border_width(GTK_CONTAINER(window), 4);
        gtk_window_set_position(GTK_WINDOW(window), GTK_WIN_POS_CENTER);
        gtk_window_set_resizable(GTK_WINDOW(window), TRUE);
index 76d3ac267630b206f626c5592e461893a787282b..4ab5b42fdb70f8110597123558e416b260650f69 100644 (file)
@@ -35,7 +35,8 @@ typedef enum
 FolderItem *foldersel_folder_sel(Folder                        *cur_folder,
                                 FolderSelectionType     type,
                                 const gchar            *default_folder,
-                                gboolean                        can_sel_mailbox);
+                                gboolean                can_sel_mailbox,
+                                const gchar            *title);
 void foldersel_reflect_prefs_pixmap_theme(void);
 
 #endif /* __FOLDERSEL_H__ */
index 11f2d1ff2effb3863dd0cc9be5cde280bf81633a..26e3663a9da2f30066d2e651bd2d3cb4d2dc9482 100644 (file)
@@ -313,7 +313,12 @@ static void move_folder_cb(GtkAction *action, gpointer data)
        if (!from_folder || from_folder->folder->klass != imap_get_class())
                return;
 
-       to_folder = foldersel_folder_sel(NULL, FOLDER_SEL_MOVE, NULL, TRUE);
+       to_folder = foldersel_folder_sel(NULL, FOLDER_SEL_MOVE, NULL, TRUE,
+                       ngettext(
+                               "Select folder to move selected message to",
+                               "Select folder to move selected messages to",
+                               summary_get_selection_count(folderview->summaryview))
+       );
        if (!to_folder)
                return;
        
@@ -329,7 +334,12 @@ static void copy_folder_cb(GtkAction *action, gpointer data)
        if (!from_folder || from_folder->folder->klass != imap_get_class())
                return;
 
-       to_folder = foldersel_folder_sel(NULL, FOLDER_SEL_MOVE, NULL, TRUE);
+       to_folder = foldersel_folder_sel(NULL, FOLDER_SEL_MOVE, NULL, TRUE,
+                       ngettext(
+                               "Select folder to copy selected message to",
+                               "Select folder to copy selected messages to",
+                               summary_get_selection_count(folderview->summaryview))
+       );
        if (!to_folder)
                return;
        
index a0e513f2a079ee02e10f3e1e9a08bc4941095978..b573bb1d1211a5c9e414d5613bd56b06195086f3 100644 (file)
@@ -268,7 +268,8 @@ static void import_destsel_cb(GtkWidget *widget, gpointer data)
        FolderItem *dest;
        gchar *path;
 
-       dest = foldersel_folder_sel(NULL, FOLDER_SEL_COPY, NULL, FALSE);
+       dest = foldersel_folder_sel(NULL, FOLDER_SEL_COPY, NULL, FALSE,
+                       _("Select folder to import to"));
        if (!dest)
                 return;
        path = folder_item_get_identifier(dest);
index 2c34dce0c8f937c119eef382d348013c1a5df6af..e01564220889e92bba957863985e2cb2ceb51e02 100644 (file)
@@ -4932,7 +4932,8 @@ static void goto_folder_cb(GtkAction *action, gpointer data)
        MainWindow *mainwin = (MainWindow *)data;
        FolderItem *to_folder;
 
-       to_folder = foldersel_folder_sel(NULL, FOLDER_SEL_ALL, NULL, FALSE);
+       to_folder = foldersel_folder_sel(NULL, FOLDER_SEL_ALL, NULL, FALSE,
+                       _("Select folder to go to"));
 
        if (to_folder)
                folderview_select(mainwin->folderview, to_folder);
index aaca56df3aac63e1d3ef10416c2da5703a6c469a..68e90388be36066c86dcaba5e7b53cb70565536d 100644 (file)
@@ -2653,7 +2653,8 @@ static void goto_folder_cb(GtkAction *action, gpointer data)
        MessageView *messageview = (MessageView *)data;
        FolderItem *to_folder;
 
-       to_folder = foldersel_folder_sel(NULL, FOLDER_SEL_ALL, NULL, FALSE);
+       to_folder = foldersel_folder_sel(NULL, FOLDER_SEL_ALL, NULL, FALSE,
+                       _("Select folder to go to"));
 
        if (to_folder) {
                folderview_select(messageview->mainwin->folderview, to_folder);
index 985f05ecc9be78c8b660182c58407123c7e11258..605ef13fa20810a8bc82681ba590a740b6205ae8 100644 (file)
@@ -303,7 +303,12 @@ static void move_folder_cb(GtkAction *action, gpointer data)
        if (!from_folder || from_folder->folder->klass != mh_get_class())
                return;
 
-       to_folder = foldersel_folder_sel(NULL, FOLDER_SEL_MOVE, NULL, TRUE);
+       to_folder = foldersel_folder_sel(NULL, FOLDER_SEL_MOVE, NULL, TRUE,
+                       ngettext(
+                               "Select folder to move selected message to",
+                               "Select folder to move selected messages to",
+                               summary_get_selection_count(folderview->summaryview))
+       );
        if (!to_folder)
                return;
        
@@ -319,7 +324,12 @@ static void copy_folder_cb(GtkAction *action, gpointer data)
        if (!from_folder || from_folder->folder->klass != mh_get_class())
                return;
 
-       to_folder = foldersel_folder_sel(NULL, FOLDER_SEL_MOVE, NULL, TRUE);
+       to_folder = foldersel_folder_sel(NULL, FOLDER_SEL_MOVE, NULL, TRUE,
+                       ngettext(
+                               "Select folder to copy selected message to",
+                               "Select folder to copy selected messages to",
+                               summary_get_selection_count(folderview->summaryview))
+       );
        if (!to_folder)
                return;
        
index 11c166f4856d35471df90997337b7e682cec33b8..1f31ac499751e85d318359bd33cdda48debf680d 100644 (file)
@@ -913,7 +913,8 @@ static void foldersel_cb(GtkWidget *widget, gpointer data)
        gint newpos = 0;
        struct ArchivePage* page = (struct ArchivePage *) data;
 
-       item = foldersel_folder_sel(NULL, FOLDER_SEL_MOVE, NULL, FALSE);
+       item = foldersel_folder_sel(NULL, FOLDER_SEL_MOVE, NULL, FALSE,
+                       _("Select folder to archive"));
        if (item && (item_id = folder_item_get_identifier(item)) != NULL) {
                gtk_editable_delete_text(GTK_EDITABLE(page->folder), 0, -1);
                gtk_editable_insert_text(GTK_EDITABLE(page->folder),
index 10aadb824c0dccaef87bdfcc034a8bf86c3691c8..fdae7f1632d11ffaf56bc6e5008ecbd153003ec8 100644 (file)
@@ -71,7 +71,7 @@ static void foldersel_cb(GtkWidget *widget, gpointer data)
        gchar *item_id;
        gint newpos = 0;
        
-       item = foldersel_folder_sel(NULL, FOLDER_SEL_MOVE, NULL, FALSE);
+       item = foldersel_folder_sel(NULL, FOLDER_SEL_MOVE, NULL, FALSE, NULL);
        if (item && (item_id = folder_item_get_identifier(item)) != NULL) {
                gtk_editable_delete_text(GTK_EDITABLE(entry), 0, -1);
                gtk_editable_insert_text(GTK_EDITABLE(entry), item_id, strlen(item_id), &newpos);
index 9593378acebe6311daf3b211bf98cbcf1480da63..c329d6808a21d172759f0288f6d9fe209b019878 100644 (file)
@@ -69,7 +69,7 @@ static void foldersel_cb(GtkWidget *widget, gpointer data)
        gchar *item_id;
        gint newpos = 0;
        
-       item = foldersel_folder_sel(NULL, FOLDER_SEL_MOVE, NULL, FALSE);
+       item = foldersel_folder_sel(NULL, FOLDER_SEL_MOVE, NULL, FALSE, NULL);
        if (item && (item_id = folder_item_get_identifier(item)) != NULL) {
                gtk_editable_delete_text(GTK_EDITABLE(entry), 0, -1);
                gtk_editable_insert_text(GTK_EDITABLE(entry), item_id, strlen(item_id), &newpos);
index 77d5d8f8dc8a8646efe06237e53195f43e49cfb8..e94a3a82ffad0d742a8d71319ade653856a74c3e 100644 (file)
@@ -68,7 +68,8 @@ static void foldersel_cb(GtkWidget *widget, gpointer data)
        gchar *item_id;
        gint newpos = 0;
        
-       item = foldersel_folder_sel(NULL, FOLDER_SEL_MOVE, NULL, FALSE);
+       item = foldersel_folder_sel(NULL, FOLDER_SEL_MOVE, NULL, FALSE,
+                       _("Select folder to store infected messages in"));
        if (item && (item_id = folder_item_get_identifier(item)) != NULL) {
                gtk_editable_delete_text(GTK_EDITABLE(page->save_folder), 0, -1);
                gtk_editable_insert_text(GTK_EDITABLE(page->save_folder), item_id, strlen(item_id), &newpos);
index 282c263e15ca9c7c194c3407e79b88b9d07c9863..47b768411eadf62736235737e2fc577154ccc070 100644 (file)
@@ -368,7 +368,12 @@ static void move_folder_cb(GtkAction *action, gpointer data)
        if (!from_folder || from_folder->folder->klass != claws_mailmbox_get_class())
                return;
 
-       to_folder = foldersel_folder_sel(NULL, FOLDER_SEL_MOVE, NULL, FALSE);
+       to_folder = foldersel_folder_sel(NULL, FOLDER_SEL_MOVE, NULL, FALSE,
+                       ngettext(
+                               "Select folder to move selected message to",
+                               "Select folder to move selected messages to",
+                               summary_get_selection_count(folderview->summaryview))
+       );
        if (!to_folder)
                return;
 
@@ -384,7 +389,12 @@ static void copy_folder_cb(GtkAction *action, gpointer data)
        if (!from_folder || from_folder->folder->klass != claws_mailmbox_get_class())
                return;
 
-       to_folder = foldersel_folder_sel(NULL, FOLDER_SEL_MOVE, NULL, FALSE);
+       to_folder = foldersel_folder_sel(NULL, FOLDER_SEL_MOVE, NULL, FALSE,
+                       ngettext(
+                               "Select folder to copy selected message to",
+                               "Select folder to copy selected messages to",
+                               summary_get_selection_count(folderview->summaryview))
+       );
        if (!to_folder)
                return;
 
index d73a9c65ad113b0d16cd7ee595a9d77671503345..102aaff1ba58ad3dca46f8d4a4275edef450466c 100644 (file)
@@ -115,7 +115,8 @@ static void foldersel_cb(GtkWidget *widget, gpointer data)
        gchar *item_id;
        gint newpos = 0;
        
-       item = foldersel_folder_sel(NULL, FOLDER_SEL_MOVE, NULL, FALSE);
+       item = foldersel_folder_sel(NULL, FOLDER_SEL_MOVE, NULL, FALSE,
+                       _("Select folder to save spam to"));
        if (item && (item_id = folder_item_get_identifier(item)) != NULL) {
                gtk_editable_delete_text(GTK_EDITABLE(page->save_folder), 0, -1);
                gtk_editable_insert_text(GTK_EDITABLE(page->save_folder), item_id, strlen(item_id), &newpos);
index 185e24deea28d93976c4745d9ee1613f54391c4f..59d9049279e76a13baaadf2ced5898708de43442 100644 (file)
@@ -3882,7 +3882,7 @@ static void prefs_account_select_folder_cb(GtkWidget *widget, gpointer data)
        FolderItem *item;
        gchar *id;
 
-       item = foldersel_folder_sel(NULL, FOLDER_SEL_COPY, NULL, FALSE);
+       item = foldersel_folder_sel(NULL, FOLDER_SEL_COPY, NULL, FALSE, NULL);
        if (item && item->path) {
                id = folder_item_get_identifier(item);
                if (id) {
index e105bddc74ae8772b4e1531b439ede553175c299..fa1cb0884c6203751d7690a61ec343ba2d87e942 100644 (file)
@@ -1293,7 +1293,8 @@ static void prefs_filtering_action_select_dest(void)
        FolderItem *dest;
        gchar * path;
 
-       dest = foldersel_folder_sel(NULL, FOLDER_SEL_COPY, NULL, FALSE);
+       dest = foldersel_folder_sel(NULL, FOLDER_SEL_COPY, NULL, FALSE,
+                       _("Select destination folder"));
        if (!dest) return;
 
        path = folder_item_get_identifier(dest);
index b5632979691b098ed6d8efef39ffca5211a5d9a1..268047f4b3e2e19d8fc643158a1c382dcfcd59fa 100644 (file)
@@ -4617,7 +4617,12 @@ void summary_move_to(SummaryView *summaryview)
        if (!summaryview->folder_item ||
            FOLDER_TYPE(summaryview->folder_item->folder) == F_NEWS) return;
 
-       to_folder = foldersel_folder_sel(NULL, FOLDER_SEL_MOVE, NULL, FALSE);
+       to_folder = foldersel_folder_sel(NULL, FOLDER_SEL_MOVE, NULL, FALSE,
+                       ngettext(
+                               "Select folder to move selected message to",
+                               "Select folder to move selected messages to",
+                               g_list_length(GTK_CMCLIST(summaryview->ctree)->selection))
+       );
        summary_move_selected_to(summaryview, to_folder);
 }
 
@@ -4697,7 +4702,12 @@ void summary_copy_to(SummaryView *summaryview)
 
        if (!summaryview->folder_item) return;
 
-       to_folder = foldersel_folder_sel(NULL, FOLDER_SEL_COPY, NULL, FALSE);
+       to_folder = foldersel_folder_sel(NULL, FOLDER_SEL_COPY, NULL, FALSE,
+                       ngettext(
+                               "Select folder to copy selected message to",
+                               "Select folder to copy selected messages to",
+                               g_list_length(GTK_CMCLIST(summaryview->ctree)->selection))
+       );
        summary_copy_selected_to(summaryview, to_folder);
 }