aboutsummaryrefslogtreecommitdiff
path: root/src/mainwindow.c
diff options
context:
space:
mode:
authorhiro <hiro@ee746299-78ed-0310-b773-934348b2243d>2010-11-02 11:56:07 +0000
committerhiro <hiro@ee746299-78ed-0310-b773-934348b2243d>2010-11-02 11:56:07 +0000
commitbddb4823743f012b5905f553cbe4f3c6575361b4 (patch)
tree6d33787943262104fd4df86aa13e1c16b1b7babd /src/mainwindow.c
parent68379640644a6ba3870e2e230687d6a19946e008 (diff)
merged plug-in update check and automatic update patch.
git-svn-id: svn://sylpheed.sraoss.jp/sylpheed/trunk@2707 ee746299-78ed-0310-b773-934348b2243d
Diffstat (limited to 'src/mainwindow.c')
-rw-r--r--src/mainwindow.c56
1 files changed, 41 insertions, 15 deletions
diff --git a/src/mainwindow.c b/src/mainwindow.c
index c1329202..fbfc1a5d 100644
--- a/src/mainwindow.c
+++ b/src/mainwindow.c
@@ -535,6 +535,10 @@ static void help_cmdline_cb (MainWindow *mainwin,
static void update_check_cb (MainWindow *mainwin,
guint action,
GtkWidget *widget);
+#ifdef USE_UPDATE_CHECK_PLUGIN
+static void update_check_plugin_cb(MainWindow *mainwin, guint action,
+ GtkWidget *widget);
+#endif
#endif
static void scan_tree_func (Folder *folder,
@@ -899,6 +903,9 @@ static GtkItemFactoryEntry mainwin_entries[] =
#if USE_UPDATE_CHECK
{N_("/_Help/---"), NULL, NULL, 0, "<Separator>"},
{N_("/_Help/_Update check..."), NULL, update_check_cb, 0, NULL},
+#ifdef USE_UPDATE_CHECK_PLUGIN
+ {N_("/_Help/Update check _plugin..."), NULL, update_check_plugin_cb, 0, NULL},
+#endif
#endif
{N_("/_Help/---"), NULL, NULL, 0, "<Separator>"},
{N_("/_Help/_About"), NULL, about_show, 0, NULL}
@@ -1450,29 +1457,15 @@ GtkWidget *main_window_get_message_window(MainWindow *mainwin)
}
}
-void main_window_change_layout(MainWindow *mainwin, LayoutType layout,
- SeparateType type)
+void main_window_hide(MainWindow *mainwin)
{
GtkWidget *folder_wid = GTK_WIDGET_PTR(mainwin->folderview);
GtkWidget *summary_wid = GTK_WIDGET_PTR(mainwin->summaryview);
GtkWidget *message_wid = GTK_WIDGET_PTR(mainwin->messageview);
GtkWidget *qsearch_wid = GTK_WIDGET_PTR(mainwin->summaryview->qsearch);
GtkWidget *vbox_summary = qsearch_wid->parent;
- GtkWidget *focus_widget;
-
- debug_print("Changing window layout type (layout: %d -> %d, separation: %d -> %d)\n", prefs_common.layout_type, layout, mainwin->type, type);
-
- if (prefs_common.layout_type == layout && mainwin->type == type)
- return;
-
- /* keep previous focus */
- focus_widget = gtk_window_get_focus(GTK_WINDOW(mainwin->window));
/* remove widgets from those containers */
- gtk_widget_ref(folder_wid);
- gtk_widget_ref(summary_wid);
- gtk_widget_ref(message_wid);
- gtk_widget_ref(qsearch_wid);
gtkut_container_remove
(GTK_CONTAINER(folder_wid->parent), folder_wid);
gtkut_container_remove
@@ -1515,6 +1508,31 @@ void main_window_change_layout(MainWindow *mainwin, LayoutType layout,
}
gtk_widget_hide(mainwin->window);
+}
+
+void main_window_change_layout(MainWindow *mainwin, LayoutType layout,
+ SeparateType type)
+{
+ GtkWidget *folder_wid = GTK_WIDGET_PTR(mainwin->folderview);
+ GtkWidget *summary_wid = GTK_WIDGET_PTR(mainwin->summaryview);
+ GtkWidget *message_wid = GTK_WIDGET_PTR(mainwin->messageview);
+ GtkWidget *qsearch_wid = GTK_WIDGET_PTR(mainwin->summaryview->qsearch);
+ GtkWidget *focus_widget;
+
+ debug_print("Changing window layout type (layout: %d -> %d, separation: %d -> %d)\n", prefs_common.layout_type, layout, mainwin->type, type);
+
+ if (prefs_common.layout_type == layout && mainwin->type == type)
+ return;
+
+ /* keep previous focus */
+ focus_widget = gtk_window_get_focus(GTK_WINDOW(mainwin->window));
+
+ gtk_widget_ref(folder_wid);
+ gtk_widget_ref(summary_wid);
+ gtk_widget_ref(message_wid);
+ gtk_widget_ref(qsearch_wid);
+
+ main_window_hide(mainwin);
main_window_set_widgets(mainwin, layout, type);
gtk_widget_show(mainwin->window);
if (focus_widget)
@@ -4137,6 +4155,14 @@ static void update_check_cb(MainWindow *mainwin, guint action,
{
update_check(TRUE);
}
+
+#ifdef USE_UPDATE_CHECK_PLUGIN
+static void update_check_plugin_cb(MainWindow *mainwin, guint action,
+ GtkWidget *widget)
+{
+ update_check_plugin(TRUE);
+}
+#endif
#endif
static void scan_tree_func(Folder *folder, FolderItem *item, gpointer data)