aboutsummaryrefslogtreecommitdiff
path: root/src/import.c
diff options
context:
space:
mode:
authorhiro <hiro@ee746299-78ed-0310-b773-934348b2243d>2009-08-05 06:43:26 +0000
committerhiro <hiro@ee746299-78ed-0310-b773-934348b2243d>2009-08-05 06:43:26 +0000
commit96e12afb87585fec68cb251f78af15a3827d536b (patch)
tree98503c626f47e134a8821ef6ac50e17f2ce3f936 /src/import.c
parentb378cc17bce630ba6d6f33a1511f144f8db44220 (diff)
modified progressbar dialog on import.
git-svn-id: svn://sylpheed.sraoss.jp/sylpheed/trunk@2198 ee746299-78ed-0310-b773-934348b2243d
Diffstat (limited to 'src/import.c')
-rw-r--r--src/import.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/src/import.c b/src/import.c
index 3a247385..fa883a99 100644
--- a/src/import.c
+++ b/src/import.c
@@ -87,11 +87,12 @@ static void proc_mbox_func(Folder *folder, FolderItem *item, gpointer data)
GTimeVal tv_cur;
g_get_current_time(&tv_cur);
+ g_snprintf(str, sizeof(str), "%d", count);
+ gtk_progress_bar_set_text(GTK_PROGRESS_BAR(progress->progressbar), str);
+
if (tv_prev.tv_sec == 0 ||
(tv_cur.tv_sec - tv_prev.tv_sec) * G_USEC_PER_SEC +
tv_cur.tv_usec - tv_prev.tv_usec > 100 * 1000) {
- g_snprintf(str, sizeof(str), "%d", count);
- gtk_progress_bar_set_text(GTK_PROGRESS_BAR(progress->progressbar), str);
gtk_progress_bar_pulse(GTK_PROGRESS_BAR(progress->progressbar));
ui_update();
tv_prev = tv_cur;
@@ -157,12 +158,21 @@ gint import_mbox(FolderItem *default_dest)
(GTK_WINDOW(progress->window),
_("Importing"));
progress_dialog_set_label(progress, msg);
+ gtk_window_set_modal
+ (GTK_WINDOW(progress->window), TRUE);
+ manage_window_set_transient
+ (GTK_WINDOW(progress->window));
gtk_widget_hide(progress->cancel_btn);
+ g_signal_connect(G_OBJECT(progress->window),
+ "delete_event",
+ G_CALLBACK(gtk_true), NULL);
gtk_widget_show(progress->window);
ui_update();
folder_set_ui_func(dest->folder, proc_mbox_func, NULL);
ok = proc_mbox(dest, filename, NULL);
folder_set_ui_func(dest->folder, NULL, NULL);
+ progress_dialog_set_label(progress, _("Scanning folder..."));
+ ui_update();
folder_item_scan(dest);
folderview_update_item(dest, TRUE);
progress_dialog_destroy(progress);