diff options
author | hiro <hiro@ee746299-78ed-0310-b773-934348b2243d> | 2009-08-04 07:08:14 +0000 |
---|---|---|
committer | hiro <hiro@ee746299-78ed-0310-b773-934348b2243d> | 2009-08-04 07:08:14 +0000 |
commit | c24bf4d56469351ead16dd9d917bcddeff9d4fc7 (patch) | |
tree | 6b593d9e5828f695e072533975e79e3d0adaabf5 /src/progressdialog.c | |
parent | f9900e671911918612d952dd669aa2129c13227e (diff) |
show progressbar on mbox import.
git-svn-id: svn://sylpheed.sraoss.jp/sylpheed/trunk@2196 ee746299-78ed-0310-b773-934348b2243d
Diffstat (limited to 'src/progressdialog.c')
-rw-r--r-- | src/progressdialog.c | 100 |
1 files changed, 56 insertions, 44 deletions
diff --git a/src/progressdialog.c b/src/progressdialog.c index a015ad31..e650d504 100644 --- a/src/progressdialog.c +++ b/src/progressdialog.c @@ -1,6 +1,6 @@ /* * Sylpheed -- a GTK+ based, lightweight, and fast e-mail client - * Copyright (C) 1999-2008 Hiroyuki Yamamoto + * Copyright (C) 1999-2009 Hiroyuki Yamamoto * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -43,11 +43,6 @@ ProgressDialog *progress_dialog_create(void) { ProgressDialog *progress; - GtkWidget *dialog; - GtkWidget *hbox; - GtkWidget *label; - GtkWidget *cancel_btn; - GtkWidget *progressbar; GtkWidget *scrolledwin; GtkWidget *treeview; GtkListStore *store; @@ -55,45 +50,12 @@ ProgressDialog *progress_dialog_create(void) GtkTreeViewColumn *column; GtkCellRenderer *renderer; - debug_print(_("Creating progress dialog...\n")); - progress = g_new0(ProgressDialog, 1); - - dialog = gtk_dialog_new(); - gtk_widget_set_size_request(dialog, 460, -1); - gtk_container_set_border_width(GTK_CONTAINER(dialog), 8); - gtk_window_set_position(GTK_WINDOW(dialog), GTK_WIN_POS_CENTER); - gtk_window_set_policy(GTK_WINDOW(dialog), FALSE, TRUE, TRUE); - gtk_widget_realize(dialog); - - gtk_container_set_border_width - (GTK_CONTAINER(GTK_DIALOG(dialog)->action_area), 0); - gtk_box_set_spacing(GTK_BOX(GTK_DIALOG(dialog)->vbox), 8); - gtk_dialog_set_has_separator(GTK_DIALOG(dialog), FALSE); - - hbox = gtk_hbox_new(FALSE, 0); - gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dialog)->vbox), hbox, - FALSE, FALSE, 8); - gtk_widget_show(hbox); - - label = gtk_label_new(""); - gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 8); - gtk_widget_show(label); - - cancel_btn = gtk_dialog_add_button(GTK_DIALOG(dialog), - GTK_STOCK_CANCEL, - GTK_RESPONSE_NONE); - gtk_widget_grab_default(cancel_btn); - gtk_widget_grab_focus(cancel_btn); - - progressbar = gtk_progress_bar_new(); - gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dialog)->vbox), progressbar, - FALSE, FALSE, 0); - gtk_widget_show(progressbar); + progress = progress_dialog_simple_create(); scrolledwin = gtk_scrolled_window_new(NULL, NULL); gtk_widget_show(scrolledwin); - gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dialog)->vbox), scrolledwin, - TRUE, TRUE, 0); + gtk_box_pack_start(GTK_BOX(GTK_DIALOG(progress->window)->vbox), + scrolledwin, TRUE, TRUE, 0); gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrolledwin), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); @@ -147,12 +109,62 @@ ProgressDialog *progress_dialog_create(void) gtk_tree_view_column_set_sizing(column, GTK_TREE_VIEW_COLUMN_FIXED); gtk_tree_view_append_column(GTK_TREE_VIEW(treeview), column); + progress->treeview = treeview; + progress->store = store; + + return progress; +} + +ProgressDialog *progress_dialog_simple_create(void) +{ + ProgressDialog *progress; + GtkWidget *dialog; + GtkWidget *hbox; + GtkWidget *label; + GtkWidget *cancel_btn; + GtkWidget *progressbar; + + debug_print("Creating progress dialog\n"); + progress = g_new0(ProgressDialog, 1); + + dialog = gtk_dialog_new(); + gtk_widget_set_size_request(dialog, 460, -1); + gtk_container_set_border_width(GTK_CONTAINER(dialog), 8); + gtk_window_set_position(GTK_WINDOW(dialog), GTK_WIN_POS_CENTER); + gtk_window_set_policy(GTK_WINDOW(dialog), FALSE, TRUE, TRUE); + gtk_widget_realize(dialog); + + gtk_container_set_border_width + (GTK_CONTAINER(GTK_DIALOG(dialog)->action_area), 0); + gtk_box_set_spacing(GTK_BOX(GTK_DIALOG(dialog)->vbox), 8); + gtk_dialog_set_has_separator(GTK_DIALOG(dialog), FALSE); + + hbox = gtk_hbox_new(FALSE, 0); + gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dialog)->vbox), hbox, + FALSE, FALSE, 8); + gtk_widget_show(hbox); + + label = gtk_label_new(""); + gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 8); + gtk_widget_show(label); + + cancel_btn = gtk_dialog_add_button(GTK_DIALOG(dialog), + GTK_STOCK_CANCEL, + GTK_RESPONSE_NONE); + gtk_widget_grab_default(cancel_btn); + gtk_widget_grab_focus(cancel_btn); + + progressbar = gtk_progress_bar_new(); + gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dialog)->vbox), progressbar, + FALSE, FALSE, 0); + gtk_widget_show(progressbar); + progress->window = dialog; progress->label = label; progress->cancel_btn = cancel_btn; progress->progressbar = progressbar; - progress->treeview = treeview; - progress->store = store; + progress->treeview = NULL; + progress->store = NULL; return progress; } |