aboutsummaryrefslogtreecommitdiff
path: root/src/progressdialog.c
diff options
context:
space:
mode:
authorhiro <hiro@ee746299-78ed-0310-b773-934348b2243d>2008-09-26 07:36:00 +0000
committerhiro <hiro@ee746299-78ed-0310-b773-934348b2243d>2008-09-26 07:36:00 +0000
commitc5b3f5701e836a2283461065a79d17875fe454f1 (patch)
treeddae4610ca946f0e075dcaabdb5c402373d136a7 /src/progressdialog.c
parent2569f2416f350e29ff414671b74f2524fa883113 (diff)
added progress column to the progress dialog.
git-svn-id: svn://sylpheed.sraoss.jp/sylpheed/trunk@2043 ee746299-78ed-0310-b773-934348b2243d
Diffstat (limited to 'src/progressdialog.c')
-rw-r--r--src/progressdialog.c35
1 files changed, 30 insertions, 5 deletions
diff --git a/src/progressdialog.c b/src/progressdialog.c
index d1dd40ab..a015ad31 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-2005 Hiroyuki Yamamoto
+ * Copyright (C) 1999-2008 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
@@ -101,7 +101,8 @@ ProgressDialog *progress_dialog_create(void)
GTK_SHADOW_IN);
store = gtk_list_store_new(PROG_N_COLS, GDK_TYPE_PIXBUF, G_TYPE_STRING,
- G_TYPE_STRING, G_TYPE_POINTER);
+ G_TYPE_STRING, G_TYPE_STRING,
+ G_TYPE_POINTER);
treeview = gtk_tree_view_new_with_model(GTK_TREE_MODEL(store));
g_object_unref(G_OBJECT(store));
@@ -128,7 +129,7 @@ ProgressDialog *progress_dialog_create(void)
(_("Account"), renderer, "text", PROG_COL_NAME, NULL);
gtk_tree_view_column_set_resizable(column, TRUE);
gtk_tree_view_column_set_sizing(column, GTK_TREE_VIEW_COLUMN_FIXED);
- gtk_tree_view_column_set_fixed_width(column, 160);
+ gtk_tree_view_column_set_fixed_width(column, 120);
gtk_tree_view_append_column(GTK_TREE_VIEW(treeview), column);
renderer = gtk_cell_renderer_text_new();
@@ -136,6 +137,14 @@ ProgressDialog *progress_dialog_create(void)
(_("Status"), renderer, "text", PROG_COL_STATUS, NULL);
gtk_tree_view_column_set_resizable(column, TRUE);
gtk_tree_view_column_set_sizing(column, GTK_TREE_VIEW_COLUMN_FIXED);
+ gtk_tree_view_column_set_fixed_width(column, 80);
+ gtk_tree_view_append_column(GTK_TREE_VIEW(treeview), column);
+
+ renderer = gtk_cell_renderer_text_new();
+ column = gtk_tree_view_column_new_with_attributes
+ (_("Progress"), renderer, "text", PROG_COL_PROGRESS, NULL);
+ gtk_tree_view_column_set_resizable(column, TRUE);
+ gtk_tree_view_column_set_sizing(column, GTK_TREE_VIEW_COLUMN_FIXED);
gtk_tree_view_append_column(GTK_TREE_VIEW(treeview), column);
progress->window = dialog;
@@ -175,7 +184,7 @@ void progress_dialog_set_percentage(ProgressDialog *progress,
void progress_dialog_append(ProgressDialog *progress, GdkPixbuf *pixbuf,
const gchar *name, const gchar *status,
- gpointer data)
+ const gchar *progress_str, gpointer data)
{
GtkListStore *store = progress->store;
GtkTreeIter iter;
@@ -186,13 +195,15 @@ void progress_dialog_append(ProgressDialog *progress, GdkPixbuf *pixbuf,
PROG_COL_PIXBUF, pixbuf,
PROG_COL_NAME, name,
PROG_COL_STATUS, status,
+ PROG_COL_PROGRESS, progress_str,
PROG_COL_POINTER, data,
-1);
}
void progress_dialog_set_row(ProgressDialog *progress, gint row,
GdkPixbuf *pixbuf, const gchar *name,
- const gchar *status, gpointer data)
+ const gchar *status, const gchar *progress_str,
+ gpointer data)
{
GtkListStore *store = progress->store;
GtkTreeIter iter;
@@ -203,6 +214,7 @@ void progress_dialog_set_row(ProgressDialog *progress, gint row,
PROG_COL_PIXBUF, pixbuf,
PROG_COL_NAME, name,
PROG_COL_STATUS, status,
+ PROG_COL_PROGRESS, progress_str,
PROG_COL_POINTER, data,
-1);
}
@@ -244,6 +256,19 @@ void progress_dialog_set_row_status(ProgressDialog *progress, gint row,
}
}
+void progress_dialog_set_row_progress(ProgressDialog *progress, gint row,
+ const gchar *progress_str)
+{
+ GtkListStore *store = progress->store;
+ GtkTreeIter iter;
+
+ if (gtk_tree_model_iter_nth_child(GTK_TREE_MODEL(store),
+ &iter, NULL, row)) {
+ gtk_list_store_set(store, &iter, PROG_COL_PROGRESS,
+ progress_str, -1);
+ }
+}
+
void progress_dialog_scroll_to_row(ProgressDialog *progress, gint row)
{
GtkTreeModel *model = GTK_TREE_MODEL(progress->store);