static void hide_read_messages (GtkAction *action,
gpointer data);
+static void hide_read_threads (GtkAction *action,
+ gpointer data);
static void hide_del_messages (GtkAction *action,
gpointer data);
{"View/Goto/OtherFolder", NULL, N_("_Other folder..."), "G", NULL, G_CALLBACK(goto_folder_cb) },
/* {"View/Scroll/---", NULL, "---", NULL, NULL, NULL }, */
- {"View/Scroll", NULL, N_("Message Scroll") },
+ {"View/Scroll", NULL, N_("Message scroll") },
{"View/Scroll/PrevLine", NULL, N_("Previous line"), NULL, NULL, G_CALLBACK(scroll_prev_line_cb) },
{"View/Scroll/NextLine", NULL, N_("Next line"), NULL, NULL, G_CALLBACK(scroll_next_line_cb) },
{"View/Scroll/PrevPage", NULL, N_("Previous page"), NULL, NULL, G_CALLBACK(scroll_prev_page_cb) },
#endif
{"View/ShowHide/ColumnHeaders", NULL, N_("Column headers"), NULL, NULL, G_CALLBACK(toggle_col_headers_cb) }, /* toggle */
{"View/ThreadView", NULL, N_("Th_read view"), "<control>T", NULL, G_CALLBACK(thread_cb) }, /* toggle */
+ {"View/HideReadThreads", NULL, N_("Hide read threads"), NULL, NULL, G_CALLBACK(hide_read_threads) }, /* toggle */
{"View/HideReadMessages", NULL, N_("_Hide read messages"), NULL, NULL, G_CALLBACK(hide_read_messages) }, /* toggle */
{"View/HideDelMessages", NULL, N_("Hide deleted messages"), NULL, NULL, G_CALLBACK(hide_del_messages) }, /* toggle */
#ifndef MAEMO
if (keyval == GDK_KEY_BackSpace) {
const gchar *accel_path;
-#if GTK_CHECK_VERSION(2,14,0)
accel_path = gtk_menu_item_get_accel_path(item);
-#else
- accel_path = GTK_MENU_ITEM(item)->accel_path;
-#endif
keyval = 0; modifier = 0;
gtk_accel_map_change_entry (accel_path, keyval, modifier, TRUE);
}
GtkWidget *offline_pixmap;
GtkWidget *warning_icon;
GtkWidget *warning_btn;
- CLAWS_TIP_DECL();
#endif
GtkWidget *online_switch;
GtkWidget *offline_switch;
FolderView *folderview;
SummaryView *summaryview;
MessageView *messageview;
+#if !GTK_CHECK_VERSION(3, 0, 0)
GdkColormap *colormap;
- GdkColor color[4];
gboolean success[4];
+#endif
+ GdkColor color[4];
GtkWidget *ac_menu;
gint i;
MENUITEM_ADDUI_MANAGER(mainwin->ui_manager, "/Menu/View", "ThreadView", "View/ThreadView", GTK_UI_MANAGER_MENUITEM)
MENUITEM_ADDUI_MANAGER(mainwin->ui_manager, "/Menu/View", "ExpandThreads", "View/ExpandThreads", GTK_UI_MANAGER_MENUITEM)
MENUITEM_ADDUI_MANAGER(mainwin->ui_manager, "/Menu/View", "CollapseThreads", "View/CollapseThreads", GTK_UI_MANAGER_MENUITEM)
+ MENUITEM_ADDUI_MANAGER(mainwin->ui_manager, "/Menu/View", "HideReadThreads", "View/HideReadThreads", GTK_UI_MANAGER_MENUITEM)
MENUITEM_ADDUI_MANAGER(mainwin->ui_manager, "/Menu/View", "HideReadMessages", "View/HideReadMessages", GTK_UI_MANAGER_MENUITEM)
MENUITEM_ADDUI_MANAGER(mainwin->ui_manager, "/Menu/View", "HideDelMessages", "View/HideDelMessages", GTK_UI_MANAGER_MENUITEM)
MENUITEM_ADDUI_MANAGER(mainwin->ui_manager, "/Menu/View", "Separator3", "View/---", GTK_UI_MANAGER_SEPARATOR)
color[2] = folderview->color_new;
color[3] = folderview->color_op;
+#if !GTK_CHECK_VERSION(3, 0, 0)
colormap = gdk_drawable_get_colormap(gtk_widget_get_window(window));
gdk_colormap_alloc_colors(colormap, color, 4, FALSE, TRUE, success);
for (i = 0; i < 4; i++) {
if (success[i] == FALSE)
g_warning("MainWindow: color allocation %d failed\n", i);
}
+#endif
debug_print("done.\n");
ADD_MENU_ACCEL_GROUP_TO_WINDOW(summaryview->popupmenu, mainwin->window);
-#ifndef GENERIC_UMPC
-#ifdef G_OS_UNIX
- gtk_window_iconify(GTK_WINDOW(mainwin->window));
-#endif
-#endif
-
g_signal_connect(G_OBJECT(window), "window_state_event",
G_CALLBACK(mainwindow_state_event_cb), mainwin);
g_signal_connect(G_OBJECT(window), "visibility_notify_event",
}
summary_update_unread(mainwin->summaryview, NULL);
- gtk_widget_show(mainwin->window);
-
/* initialize views */
folderview_init(folderview);
summary_init(summaryview);
prefs_common.folderview_width = allocation.width;
prefs_common.folderview_height = allocation.height;
}
-
+
gtk_widget_get_allocation(GTK_WIDGET_PTR(mainwin->messageview), &allocation);
if (allocation.width > 1 && allocation.height > 1 &&
!prefs_common.mainwin_fullscreen) {
if ((selection == SUMMARY_NONE && item->hide_read_msgs)
|| selection != SUMMARY_NONE)
state |= M_HIDE_READ_MSG;
+
+ if ((selection == SUMMARY_NONE && item->hide_read_threads)
+ || selection != SUMMARY_NONE)
+ state |= M_HIDE_READ_THREADS;
}
if (mainwin->summaryview->threaded)
state |= M_THREADED;
{"Menu/View/ThreadView" , M_EXEC|M_SUMMARY_ISLIST},
{"Menu/View/ExpandThreads" , M_MSG_EXIST|M_SUMMARY_ISLIST},
{"Menu/View/CollapseThreads" , M_MSG_EXIST|M_SUMMARY_ISLIST},
+ {"Menu/View/HideReadThreads" , M_HIDE_READ_THREADS|M_SUMMARY_ISLIST},
{"Menu/View/HideReadMessages" , M_HIDE_READ_MSG|M_SUMMARY_ISLIST},
{"Menu/View/HideDelMessages" , M_SUMMARY_ISLIST},
{"Menu/View/Goto/Prev" , M_MSG_EXIST},
&& mainwin->messageview->mimeview
&& mainwin->messageview->mimeview->textview)
cm_toggle_menu_set_active_full(mainwin->ui_manager, "Menu/View/AllHeaders",
- mainwin->messageview->mimeview->textview->show_all_headers);
+ prefs_common.show_all_headers);
cm_toggle_menu_set_active_full(mainwin->ui_manager, "Menu/View/ThreadView", (state & M_THREADED) != 0);
+ cm_menu_set_sensitive_full(mainwin->ui_manager, "Menu/View/ExpandThreads", (state & M_THREADED) != 0);
+ cm_menu_set_sensitive_full(mainwin->ui_manager, "Menu/View/CollapseThreads", (state & M_THREADED) != 0);
+ cm_menu_set_sensitive_full(mainwin->ui_manager, "Menu/View/HideReadThreads", (state & M_THREADED) != 0);
cm_toggle_menu_set_active_full(mainwin->ui_manager, "Menu/View/Quotes/CollapseAll", (prefs_common.hide_quotes == 1));
cm_toggle_menu_set_active_full(mainwin->ui_manager, "Menu/View/Quotes/Collapse2", (prefs_common.hide_quotes == 2));
cm_toggle_menu_set_active_full(mainwin->ui_manager, "Menu/View/Quotes/Collapse3", (prefs_common.hide_quotes == 3));
+ if (mainwin->summaryview->folder_item && mainwin->summaryview->folder_item->hide_read_msgs)
+ cm_menu_set_sensitive_full(mainwin->ui_manager, "Menu/View/HideReadThreads", FALSE);
+ if (mainwin->summaryview->folder_item && mainwin->summaryview->folder_item->hide_read_threads)
+ cm_menu_set_sensitive_full(mainwin->ui_manager, "Menu/View/HideReadMessages", FALSE);
+
main_window_menu_callback_unblock(mainwin);
}
{
static gboolean first_start = TRUE;
- if (!gtkut_widget_get_visible(GTK_WIDGET(mainwin->window)))
+ if (!gtk_widget_get_visible(GTK_WIDGET(mainwin->window)))
main_window_show(mainwin);
if (prefs_common.mainwin_maximised)
gtk_window_maximize(GTK_WINDOW(mainwin->window));
if (first_start) {
-#ifdef G_OS_UNIX
- gtk_window_deiconify(GTK_WINDOW(mainwin->window));
-#endif
first_start = FALSE;
} else {
gtkut_window_popup(mainwin->window);
}
+
if (prefs_common.layout_mode == SMALL_LAYOUT) {
if (mainwin->in_folder) {
mainwindow_enter_folder(mainwin);
gtk_window_move(GTK_WINDOW(mainwin->window),
prefs_common.mainwin_x,
prefs_common.mainwin_y);
-
+
gtk_widget_set_size_request(GTK_WIDGET_PTR(mainwin->folderview),
prefs_common.folderview_width,
prefs_common.folderview_height);
gboolean first_set = (mainwin->hpaned == NULL);
debug_print("Setting widgets... ");
- if (layout_mode == SMALL_LAYOUT && first_set) {
- gtk_widget_set_size_request(GTK_WIDGET_PTR(mainwin->folderview),
- prefs_common.folderview_width,
- prefs_common.folderview_height);
- gtk_widget_set_size_request(GTK_WIDGET_PTR(mainwin->summaryview),
- 0,0);
- gtk_widget_set_size_request(GTK_WIDGET_PTR(mainwin->messageview),
- 0,0);
- } else {
- gtk_widget_set_size_request(GTK_WIDGET_PTR(mainwin->folderview),
- prefs_common.folderview_width,
- prefs_common.folderview_height);
- gtk_widget_set_size_request(GTK_WIDGET_PTR(mainwin->summaryview),
- prefs_common.summaryview_width,
- prefs_common.summaryview_height);
- gtk_widget_set_size_request(GTK_WIDGET_PTR(mainwin->messageview),
- prefs_common.msgview_width,
- prefs_common.msgview_height);
- }
-
#ifndef GENERIC_UMPC
mainwin->messageview->statusbar = mainwin->statusbar;
mainwin->messageview->statusbar_cid = mainwin->messageview_cid;
prefs_common.mainwin_width,
prefs_common.mainwin_height);
gtk_paned_set_position(GTK_PANED(mainwin->hpaned), 800);
+ } else {
+ gtk_widget_set_size_request(GTK_WIDGET_PTR(mainwin->folderview),
+ prefs_common.folderview_width,
+ prefs_common.folderview_height);
+ gtk_widget_set_size_request(GTK_WIDGET_PTR(mainwin->summaryview),
+ prefs_common.summaryview_width,
+ prefs_common.summaryview_height);
+ gtk_widget_set_size_request(GTK_WIDGET_PTR(mainwin->messageview),
+ prefs_common.msgview_width,
+ prefs_common.msgview_height);
+ gtk_widget_set_size_request(GTK_WIDGET(mainwin->window),
+ prefs_common.mainwin_width,
+ prefs_common.mainwin_height);
}
/* remove headerview if not in prefs */
headerview_set_visibility(mainwin->messageview->headerview,
if (gtk_toggle_action_get_active (GTK_TOGGLE_ACTION (gaction))) {
gtk_cmclist_column_titles_show(GTK_CMCLIST(folderview->ctree));
gtk_cmclist_column_titles_show(GTK_CMCLIST(summaryview->ctree));
- gtk_cmclist_column_titles_show(GTK_CMCLIST(mimeview->ctree));
+ gtk_tree_view_set_headers_visible(GTK_TREE_VIEW(mimeview->ctree), TRUE);
prefs_common.show_col_headers = TRUE;
} else {
gtk_cmclist_column_titles_hide(GTK_CMCLIST(folderview->ctree));
gtk_cmclist_column_titles_hide(GTK_CMCLIST(summaryview->ctree));
- gtk_cmclist_column_titles_hide(GTK_CMCLIST(mimeview->ctree));
+ gtk_tree_view_set_headers_visible(GTK_TREE_VIEW(mimeview->ctree), FALSE);
prefs_common.show_col_headers = FALSE;
}
}
{
MainWindow *mainwin = (MainWindow *)data;
if (mainwin->menu_lock_count) return;
- mainwin->summaryview->messageview->all_headers =
+ prefs_common.show_all_headers =
gtk_toggle_action_get_active (GTK_TOGGLE_ACTION (action));
summary_display_msg_selected(mainwin->summaryview,
gtk_toggle_action_get_active (GTK_TOGGLE_ACTION (action)));
MainWindow *mainwin = (MainWindow *)data;
if (!mainwin->summaryview->displayed && mainwin->summaryview->selected) {
summary_display_msg_selected(mainwin->summaryview,
- mainwin->messageview->mimeview->textview->show_all_headers);
+ prefs_common.show_all_headers);
}
messageview_list_urls(mainwin->messageview);
}
summary_toggle_show_del_messages(mainwin->summaryview);
}
+static void hide_read_threads (GtkAction *action, gpointer data)
+{
+ MainWindow *mainwin = (MainWindow *)data;
+ GtkWidget *menuitem = gtk_ui_manager_get_widget(mainwin->ui_manager, "/Menu/View/HideReadThreads");
+ if (!mainwin->summaryview->folder_item
+ || g_object_get_data(G_OBJECT(menuitem), "dont_toggle"))
+ return;
+ summary_toggle_show_read_threads(mainwin->summaryview);
+}
+
static void thread_cb(GtkAction *action, gpointer data)
{
MainWindow *mainwin = (MainWindow *)data;
MessageView *msgview = mainwin->messageview;
if (messageview_is_visible(msgview) &&
- (gtkut_widget_has_focus(msgview->mimeview->textview->text)))
+ (gtk_widget_has_focus(msgview->mimeview->textview->text)))
messageview_select_all(mainwin->messageview);
else
summary_select_all(mainwin->summaryview);