2011-11-08 [pawel] 3.7.10cvs80
[claws.git] / src / summaryview.c
index eb55cc5f6f2412452cee53094053512991a2c678..ea900e0548dd87de6f25d4d3868ec8b6d13f3ec5 100644 (file)
@@ -512,7 +512,6 @@ SummaryView *summary_create(MainWindow *mainwin)
        GtkWidget *toggle_arrow;
        GtkWidget *toggle_search;
        QuickSearch *quicksearch;
-       CLAWS_TIP_DECL();
 
        debug_print("Creating summary view...\n");
        summaryview = g_new0(SummaryView, 1);
@@ -2450,9 +2449,7 @@ static void summary_status_show(SummaryView *summaryview)
        goffset sel_size = 0, n_size = 0;
        MsgInfo *msginfo;
        gchar *name;
-#if GTK_CHECK_VERSION(2, 12, 0)
        gchar *tooltip;
-#endif
        
        if (!summaryview->folder_item) {
                gtk_label_set_text(GTK_LABEL(summaryview->statlabel_folder), "");
@@ -2569,7 +2566,6 @@ static void summary_status_show(SummaryView *summaryview)
 
                gtk_label_set_text(GTK_LABEL(summaryview->statlabel_msgs), str);
                g_free(str);
-#if GTK_CHECK_VERSION(2, 12, 0)
                tooltip = g_strdup_printf(_("<b>Message summary</b>\n"
                                            "<b>New:</b> %d\n"
                                            "<b>Unread:</b> %d\n"
@@ -2589,7 +2585,6 @@ static void summary_status_show(SummaryView *summaryview)
                gtk_widget_set_tooltip_markup(GTK_WIDGET(summaryview->statlabel_msgs),
                                            tooltip); 
                g_free(tooltip);
-#endif
        } else {
                gchar *ssize, *tsize;
                if (n_selected) {
@@ -2936,7 +2931,7 @@ static gboolean summary_insert_gnode_func(GtkCMCTree *ctree, guint depth, GNode
 
        summary_set_header(summaryview, text, msginfo);
 
-       gtk_sctree_set_node_info(ctree, cnode, text[col_pos[S_COL_SUBJECT]], 2,
+       gtk_cmctree_set_node_info(ctree, cnode, text[col_pos[S_COL_SUBJECT]], 2,
                                NULL, NULL, FALSE, summaryview->threaded && !summaryview->thread_collapsed);
 #define SET_TEXT(col) {                                                \
        gtk_cmctree_node_set_text(ctree, cnode, col_pos[col],   \
@@ -3137,13 +3132,9 @@ static inline void summary_set_header(SummaryView *summaryview, gchar *text[],
        gchar *from_text = NULL, *to_text = NULL, *tags_text = NULL;
        gboolean should_swap = FALSE;
        gboolean vert = (prefs_common.layout_mode == VERTICAL_LAYOUT);
-#if GTK_CHECK_VERSION(2,12,0)
        static const gchar *color_dim_rgb = NULL;
        if (!color_dim_rgb)
                color_dim_rgb = gdk_color_to_string(&summaryview->color_dim);
-#else
-       static const gchar *color_dim_rgb = "#888888";
-#endif
        text[col_pos[S_COL_FROM]]   = "";
        text[col_pos[S_COL_TO]]     = "";
        text[col_pos[S_COL_SUBJECT]]= "";
@@ -3435,7 +3426,8 @@ static void summary_display_msg_full(SummaryView *summaryview,
        gint val;
        START_TIMING("");
        if (!new_window) {
-               if (summaryview->displayed == row)
+               if (summaryview->displayed == row &&
+                   messageview_is_visible(summaryview->messageview))
                        return;
                else if (summaryview->messageview)
                        summaryview->messageview->filtered = FALSE;
@@ -3482,7 +3474,8 @@ static void summary_display_msg_full(SummaryView *summaryview,
                        msgview = summaryview->messageview;
                        summaryview->last_displayed = summaryview->displayed;
                        summaryview->displayed = row;
-                       if (!messageview_is_visible(msgview)) {
+                       if (!messageview_is_visible(msgview) &&
+                           gtk_window_is_active(GTK_WINDOW(summaryview->mainwin->window))) {
                                main_window_toggle_message_view(summaryview->mainwin);
                                GTK_EVENTS_FLUSH();
                        }
@@ -3644,6 +3637,8 @@ void summary_toggle_view(SummaryView *summaryview)
 {
        if (prefs_common.layout_mode == SMALL_LAYOUT)
                return;
+       if (summary_is_locked(summaryview))
+               return;
        if (!messageview_is_visible(summaryview->messageview) &&
            summaryview->selected && summary_is_list(summaryview))
                summary_display_msg(summaryview,
@@ -6122,7 +6117,7 @@ static gboolean summary_popup_menu(GtkWidget *widget, gpointer data)
        return TRUE;
 }
 
-#if GTK_CHECK_VERSION(2,12,0) && !GENERIC_UMPC
+#if !GENERIC_UMPC
 static gchar *summaryview_get_tooltip_text(SummaryView *summaryview, MsgInfo *info, gint column)
 {
        MsgFlags flags;
@@ -6327,15 +6322,9 @@ static GtkWidget *summary_ctree_create(SummaryView *summaryview)
        gtk_cmclist_set_column_width(GTK_CMCLIST(ctree), col_pos[S_COL_TAGS],
                                   prefs_common.summary_col_size[S_COL_TAGS]);
 
-       if (prefs_common.enable_dotted_lines) {
-               gtk_cmctree_set_line_style(GTK_CMCTREE(ctree), GTK_CMCTREE_LINES_DOTTED);
-               gtk_cmctree_set_expander_style(GTK_CMCTREE(ctree),
-                                    GTK_CMCTREE_EXPANDER_SQUARE);
-       } else {
-               gtk_cmctree_set_line_style(GTK_CMCTREE(ctree), GTK_CMCTREE_LINES_NONE);
-               gtk_cmctree_set_expander_style(GTK_CMCTREE(ctree),
-                                    GTK_CMCTREE_EXPANDER_TRIANGLE);
-       }
+       gtk_cmctree_set_line_style(GTK_CMCTREE(ctree), GTK_CMCTREE_LINES_NONE);
+       gtk_cmctree_set_expander_style(GTK_CMCTREE(ctree),
+                            GTK_CMCTREE_EXPANDER_TRIANGLE);
 
        gtk_sctree_set_stripes(GTK_SCTREE(ctree), prefs_common.use_stripes_in_summaries);
 
@@ -6436,7 +6425,7 @@ static GtkWidget *summary_ctree_create(SummaryView *summaryview)
                         G_CALLBACK(summary_drag_motion_cb),
                         summaryview);
 
-#if GTK_CHECK_VERSION(2,12,0) && !GENERIC_UMPC
+#if !GENERIC_UMPC
        g_object_set (G_OBJECT(ctree), "has-tooltip", TRUE, NULL);
        g_signal_connect(G_OBJECT(ctree), "query-tooltip", 
                         G_CALLBACK(tooltip_cb),
@@ -6581,7 +6570,7 @@ static gboolean summary_key_pressed(GtkWidget *widget, GdkEventKey *event,
        if (summaryview->selected) {
                gboolean handled = FALSE;
                switch (event->keyval) {
-               case GDK_space:         /* Page down or go to the next */
+               case GDK_KEY_space:             /* Page down or go to the next */
                        handled = TRUE;
                        if (event->state & GDK_CONTROL_MASK) {
                                handled = FALSE;
@@ -6604,12 +6593,12 @@ static gboolean summary_key_pressed(GtkWidget *widget, GdkEventKey *event,
                                }                               
                        }
                        break;
-               case GDK_BackSpace:     /* Page up */
+               case GDK_KEY_BackSpace: /* Page up */
                        handled = TRUE;
                        mimeview_scroll_page(messageview->mimeview, TRUE);
                        break;
-               case GDK_Return:        /* Scroll up/down one line */
-               case GDK_KP_Enter:
+               case GDK_KEY_Return:    /* Scroll up/down one line */
+               case GDK_KEY_KP_Enter:
                        handled = TRUE;
                        if (summaryview->displayed != summaryview->selected) {
 #ifndef GENERIC_UMPC
@@ -6631,21 +6620,21 @@ static gboolean summary_key_pressed(GtkWidget *widget, GdkEventKey *event,
                return TRUE;
 
        switch (event->keyval) {
-       case GDK_Left:          /* Move focus */
+       case GDK_KEY_Left:              /* Move focus */
                adj = gtk_scrolled_window_get_hadjustment
                        (GTK_SCROLLED_WINDOW(summaryview->scrolledwin));
                if (gtk_adjustment_get_lower(adj) != gtk_adjustment_get_value(adj))
                        break;
                /* FALLTHROUGH */       
-       case GDK_Escape:
+       case GDK_KEY_Escape:
                gtk_widget_grab_focus(summaryview->folderview->ctree);
                mainwindow_exit_folder(summaryview->mainwin);
                return TRUE;
-       case GDK_Home:
-       case GDK_End:
+       case GDK_KEY_Home:
+       case GDK_KEY_End:
                if ((node = summaryview->selected) != NULL) {
                        GtkCMCTreeNode *next = NULL;
-                       next = (event->keyval == GDK_Home)
+                       next = (event->keyval == GDK_KEY_Home)
                                        ? gtk_cmctree_node_nth(ctree, 0)
                                        : gtk_cmctree_node_nth(ctree, 
                                                g_list_length(GTK_CMCLIST(ctree)->row_list)-1);
@@ -6673,16 +6662,17 @@ static gboolean summary_key_pressed(GtkWidget *widget, GdkEventKey *event,
        }
 
        switch (event->keyval) {
-       case GDK_Delete:
+       case GDK_KEY_Delete:
                BREAK_ON_MODIFIER_KEY();
                summary_delete_trash(summaryview);
                break;
-       case GDK_y:
-       case GDK_t:
-       case GDK_l:
-       case GDK_o:
-       case GDK_c:
-       case GDK_a:
+       case GDK_KEY_y:
+       case GDK_KEY_t:
+       case GDK_KEY_l:
+       case GDK_KEY_o:
+       case GDK_KEY_c:
+       case GDK_KEY_a:
+       case GDK_KEY_z:
                if ((event->state & (GDK_MOD1_MASK|GDK_CONTROL_MASK)) == 0) {
                        g_signal_stop_emission_by_name(G_OBJECT(widget), 
                                        "key_press_event");