Allow custom window title for the folder selection dialog.
[claws.git] / src / summaryview.c
index 9413a009c02a3439ff6e0ef520bbbcc80b61ed65..268047f4b3e2e19d8fc643158a1c382dcfcd59fa 100644 (file)
@@ -159,12 +159,6 @@ static GtkCMCTreeNode *summary_find_msg_by_msgnum
 
 static void summary_update_status      (SummaryView            *summaryview);
 
-static void summary_select_node_real(SummaryView *summaryview, GtkCMCTreeNode *node,
-                        gint force_display, gboolean ignore_mark_read);
-
-static void summary_select_node_no_mark_read(SummaryView *summaryview, GtkCMCTreeNode *node,
-                        gint force_display);
-
 /* display functions */
 static void summary_status_show                (SummaryView            *summaryview);
 static void summary_set_column_titles  (SummaryView            *summaryview);
@@ -1564,7 +1558,7 @@ gboolean summary_show(SummaryView *summaryview, FolderItem *item)
                                else
                                        open_selected = 0;
                        }
-                       summary_select_node_no_mark_read(summaryview, node, open_selected);
+                       summary_select_node(summaryview, node, open_selected);
                }
 
                summary_lock(summaryview);
@@ -2226,19 +2220,6 @@ static gboolean summary_select_retry(void *data)
 
 void summary_select_node(SummaryView *summaryview, GtkCMCTreeNode *node,
                         gint force_display)
-{
-       summary_select_node_real(summaryview, node, force_display, FALSE);
-
-}
-
-static void summary_select_node_no_mark_read(SummaryView *summaryview, GtkCMCTreeNode *node,
-                        gint force_display)
-{
-       summary_select_node_real(summaryview, node, force_display, TRUE);
-}
-
-static void summary_select_node_real(SummaryView *summaryview, GtkCMCTreeNode *node,
-                        gint force_display, gboolean ignore_mark_read)
 {
        GtkCMCTree *ctree = GTK_CMCTREE(summaryview->ctree);
        gboolean display_msg;
@@ -2271,8 +2252,6 @@ static void summary_select_node_real(SummaryView *summaryview, GtkCMCTreeNode *n
        if (!summaryview->folder_item)
                return;
        if (node) {
-               if (!ignore_mark_read)
-                       summary_cancel_mark_read_timeout(summaryview);
                gtkut_ctree_expand_parent_all(ctree, node);
 
                summary_lock(summaryview);
@@ -4638,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);
 }
 
@@ -4718,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);
 }
 
@@ -7106,6 +7095,19 @@ GSList *summary_get_selection(SummaryView *summaryview)
        return g_slist_reverse(msginfo_list);
 }
 
+/*
+ * \brief get number of messages currently selected in SummaryView
+ *
+ * \param summaryview
+ *
+ * \return number of messages currently selected
+ */
+guint summary_get_selection_count(SummaryView *summaryview)
+{
+       cm_return_val_if_fail(summaryview != NULL, 0);
+       return g_list_length(GTK_CMCLIST(summaryview->ctree)->selection);
+}
+
 static void summary_sort_by_column_click(SummaryView *summaryview,
                                         FolderSortKey sort_key)
 {
@@ -8102,7 +8104,8 @@ static gboolean summary_update_folder_item_hook(gpointer source, gpointer data)
        cm_return_val_if_fail(hookdata->item != NULL, FALSE);
        cm_return_val_if_fail(summaryview != NULL, FALSE);
 
-       if (hookdata->update_flags & F_ITEM_UPDATE_NAME) {
+       if (hookdata->item == summaryview->folder_item &&
+           hookdata->update_flags & F_ITEM_UPDATE_NAME) {
                gchar *name = folder_item_get_name(hookdata->item);
                gtk_label_set_text(GTK_LABEL(summaryview->statlabel_folder), name);
                g_free(name);