#endif
/* {"emulate_emacs", "FALSE", &prefs_common.emulate_emacs, P_BOOL,
NULL, NULL, NULL}, */
+ {"open_selected_message_on_folder_open", "FALSE",
+ &prefs_common.open_selected_on_folder_open,
+ P_BOOL, NULL, NULL, NULL},
{"always_show_message_when_selected", "0",
&prefs_common.always_show_msg,
P_ENUM, NULL, NULL, NULL},
typedef enum
{
- OPENMSG_REQUEST_ONLY = 0,
- OPENMSG_ALWAYS = 1,
+ OPENMSG_NO = 0,
+ OPENMSG_YES = 1,
OPENMSG_WHEN_VIEW_VISIBLE
} ShowMsgPolicy;
gint statusbar_update_step;
gboolean emulate_emacs;
+ gboolean open_selected_on_folder_open;
ShowMsgPolicy always_show_msg;
gboolean mark_as_read_on_new_window;
gboolean mark_as_read_delay;
menu = GTK_LIST_STORE(gtk_combo_box_get_model(
GTK_COMBO_BOX(optmenu_always_show_msg)));
gtk_widget_show (optmenu_always_show_msg);
- COMBOBOX_ADD (menu, _("Never"), OPENMSG_REQUEST_ONLY);
- COMBOBOX_ADD (menu, _("Always"), OPENMSG_ALWAYS);
- COMBOBOX_ADD (menu, _("When message view is visible"),
+ COMBOBOX_ADD (menu, _("No"), OPENMSG_NO);
+ COMBOBOX_ADD (menu, _("Yes"), OPENMSG_YES);
+ COMBOBOX_ADD (menu, _("Only when message view is visible"),
OPENMSG_WHEN_VIEW_VISIBLE);
gtk_box_pack_start(GTK_BOX(hbox1), optmenu_always_show_msg, FALSE, FALSE, 0);
GtkWidget *possible_actions_list_view;
GtkWidget *actions_list_view;
+
+ GtkWidget *open_on_select;
} summaryopen;
/* widget creating functions */
GtkWidget *list_view_scrolledwin;
GtkWidget *possible_actions_list_view;
GtkWidget *actions_list_view;
+ GtkWidget *checkbtn_open_on_select;
window = gtkut_window_new(GTK_WINDOW_TOPLEVEL, "prefs_summary_open");
gtk_container_set_border_width (GTK_CONTAINER (window), 8);
gtk_box_pack_start (GTK_BOX (btn_vbox), down_btn, FALSE, FALSE, 0);
g_signal_connect (G_OBJECT (down_btn), "clicked",
G_CALLBACK (prefs_summary_open_down), NULL);
-
+
+ PACK_CHECK_BUTTON(vbox, checkbtn_open_on_select,
+ _("Open the selected message"));
gtk_widget_show_all(window);
summaryopen.possible_actions_list_view = possible_actions_list_view;
summaryopen.actions_list_view = actions_list_view;
+ summaryopen.open_on_select = checkbtn_open_on_select;
}
/* do it SUMMARY_OPEN_ACTIONS-1 times */
(model_poss), action_name[i], i);
}
}
+
+ gtk_toggle_button_set_active
+ (GTK_TOGGLE_BUTTON(summaryopen.open_on_select),
+ prefs_common.open_selected_on_folder_open);
}
static void prefs_summary_open_set_list(void)
for (i = 0; i < SUMMARY_OPEN_ACTIONS-1; i++)
saved_summary_select_prio[i] = prefs_common.summary_select_prio[i];
+ prefs_common.open_selected_on_folder_open =
+ gtk_toggle_button_get_active
+ (GTK_TOGGLE_BUTTON(summaryopen.open_on_select));
+
gtk_widget_hide(summaryopen.window);
gtk_window_set_modal(GTK_WINDOW(summaryopen.window), FALSE);
}
}
summary_unlock(summaryview);
- if (node)
- summary_select_node(summaryview, node, -1);
+
+ if (node) {
+ gint open_selected = -1;
+ if (!is_refresh) {
+ if (prefs_common.open_selected_on_folder_open)
+ open_selected = 1;
+ else
+ open_selected = 0;
+ }
+ summary_select_node(summaryview, node, open_selected);
+ }
+
summary_lock(summaryview);
}
gboolean display_msg;
display_msg = force_display > -1? force_display :
- (prefs_common.always_show_msg == OPENMSG_ALWAYS) ||
+ (prefs_common.always_show_msg == OPENMSG_YES) ||
((prefs_common.always_show_msg == OPENMSG_WHEN_VIEW_VISIBLE &&
messageview_is_visible(summaryview->messageview)));