Add folderview_get_opened_item() function.
[claws.git] / src / folderview.c
index 965cf4596ef0ba67eaca07aa93995244a751600d..90141651fd6e260dcf6539af70fc6bc7e54d5116 100644 (file)
@@ -552,9 +552,9 @@ void folderview_set_column_order(FolderView *folderview)
        }
 
        if (folderview->selected)
-               sel_item = gtk_cmctree_node_get_row_data(GTK_CMCTREE(ctree), folderview->selected);
+               sel_item = folderview_get_selected_item(folderview);
        if (folderview->opened)
-               op_item = gtk_cmctree_node_get_row_data(GTK_CMCTREE(ctree), folderview->opened);
+               op_item = folderview_get_opened_item(folderview);
 
        debug_print("recreating tree...\n");
        gtk_widget_destroy(folderview->ctree);
@@ -769,9 +769,9 @@ void folderview_set(FolderView *folderview)
        main_window_cursor_wait(mainwin);
 
        if (folderview->selected)
-               sel_item = gtk_cmctree_node_get_row_data(ctree, folderview->selected);
+               sel_item = folderview_get_selected_item(folderview);
        if (folderview->opened)
-               op_item = gtk_cmctree_node_get_row_data(ctree, folderview->opened);
+               op_item = folderview_get_opened_item(folderview);
 
        folderview->selected = NULL;
        folderview->opened = NULL;
@@ -991,6 +991,14 @@ FolderItem *folderview_get_selected_item(FolderView *folderview)
        return gtk_cmctree_node_get_row_data(ctree, folderview->selected);
 }
 
+FolderItem *folderview_get_opened_item(FolderView *folderview)
+{
+       GtkCMCTree *ctree = GTK_CMCTREE(folderview->ctree);
+
+       if (!folderview->opened) return NULL;
+       return gtk_cmctree_node_get_row_data(ctree, folderview->opened);
+}
+
 static void folderview_set_folders(FolderView *folderview)
 {
        GList *list;
@@ -2052,7 +2060,7 @@ static gboolean folderview_key_pressed(GtkWidget *widget, GdkEventKey *event,
                                                folderview->selected))) {
                                        if ((node = gtk_cmctree_find_by_row_data(GTK_CMCTREE(folderview->ctree),
                                                        NULL, folder_item_parent(item)))) {
-                                               gtk_cmctree_select(GTK_CMCTREE(folderview->ctree), node);
+                                               gtk_sctree_select(GTK_SCTREE(folderview->ctree), node);
                                                if (!gtk_cmctree_node_is_visible(GTK_CMCTREE(folderview->ctree), node))
                                                        gtk_cmctree_node_moveto(GTK_CMCTREE(folderview->ctree),
                                                                        node, -1, 0, 0);
@@ -2069,7 +2077,7 @@ static gboolean folderview_key_pressed(GtkWidget *widget, GdkEventKey *event,
                        node = gtk_cmctree_last(GTK_CMCTREE(folderview->ctree),
                                        gtk_cmctree_node_nth(GTK_CMCTREE(folderview->ctree), 0));
 
-               gtk_cmctree_select(GTK_CMCTREE(folderview->ctree), node);
+               gtk_sctree_select(GTK_SCTREE(folderview->ctree), node);
 
                if (!gtk_cmctree_node_is_visible(GTK_CMCTREE(folderview->ctree), node))
                        gtk_cmctree_node_moveto(GTK_CMCTREE(folderview->ctree),
@@ -2350,7 +2358,6 @@ static void folderview_create_folder_node(FolderView *folderview, FolderItem *it
 static void folderview_empty_trash_cb(GtkAction *action, gpointer data)
 {
        FolderView *folderview = (FolderView *)data;
-       GtkCMCTree *ctree = GTK_CMCTREE(folderview->ctree);
        FolderItem *item;
        GSList *mlist = NULL;
        GSList *cur = NULL;
@@ -2358,7 +2365,7 @@ static void folderview_empty_trash_cb(GtkAction *action, gpointer data)
        PrefsAccount *ac;
 
        if (!folderview->selected) return;
-       item = gtk_cmctree_node_get_row_data(ctree, folderview->selected);
+       item = folderview_get_selected_item(folderview);
        cm_return_if_fail(item != NULL);
        cm_return_if_fail(item->folder != NULL);
 
@@ -2394,14 +2401,13 @@ static void folderview_empty_trash_cb(GtkAction *action, gpointer data)
 static void folderview_send_queue_cb(GtkAction *action, gpointer data)
 {
        FolderView *folderview = (FolderView *)data;
-       GtkCMCTree *ctree = GTK_CMCTREE(folderview->ctree);
        FolderItem *item;
        FolderItem *special_queue = NULL;
        PrefsAccount *ac;
        gchar *errstr = NULL;
 
        if (!folderview->selected) return;
-       item = gtk_cmctree_node_get_row_data(ctree, folderview->selected);
+       item = folderview_get_selected_item(folderview);
        cm_return_if_fail(item != NULL);
        cm_return_if_fail(item->folder != NULL);
 
@@ -2456,12 +2462,11 @@ static void folderview_search_cb(GtkAction *action, gpointer data)
 static void folderview_run_processing_cb(GtkAction *action, gpointer data)
 {
        FolderView *folderview = (FolderView *)data;
-       GtkCMCTree *ctree = GTK_CMCTREE(folderview->ctree);
        FolderItem *item;
 
        if (!folderview->selected) return;
 
-       item = gtk_cmctree_node_get_row_data(ctree, folderview->selected);
+       item = folderview_get_selected_item(folderview);
        cm_return_if_fail(item != NULL);
        cm_return_if_fail(item->folder != NULL);
 
@@ -2473,12 +2478,11 @@ static void folderview_run_processing_cb(GtkAction *action, gpointer data)
 static void folderview_property_cb(GtkAction *action, gpointer data)
 {
        FolderView *folderview = (FolderView *)data;
-       GtkCMCTree *ctree = GTK_CMCTREE(folderview->ctree);
        FolderItem *item;
 
        if (!folderview->selected) return;
 
-       item = gtk_cmctree_node_get_row_data(ctree, folderview->selected);
+       item = folderview_get_selected_item(folderview);
        cm_return_if_fail(item != NULL);
        cm_return_if_fail(item->folder != NULL);
 
@@ -2615,13 +2619,12 @@ static gint folderview_clist_compare(GtkCMCList *clist,
 static void folderview_processing_cb(GtkAction *action, gpointer data)
 {
        FolderView *folderview = (FolderView *)data;
-       GtkCMCTree *ctree = GTK_CMCTREE(folderview->ctree);
        FolderItem *item;
        gchar *id, *title;
 
        if (!folderview->selected) return;
 
-       item = gtk_cmctree_node_get_row_data(ctree, folderview->selected);
+       item = folderview_get_selected_item(folderview);
        cm_return_if_fail(item != NULL);
        cm_return_if_fail(item->folder != NULL);