gnome-commander r1877 - in trunk: . doc/C src
- From: epiotr svn gnome org
- To: svn-commits-list gnome org
- Subject: gnome-commander r1877 - in trunk: . doc/C src
- Date: Mon, 14 Jul 2008 21:28:32 +0000 (UTC)
Author: epiotr
Date: Mon Jul 14 21:28:32 2008
New Revision: 1877
URL: http://svn.gnome.org/viewvc/gnome-commander?rev=1877&view=rev
Log:
Revamped transfer progress dlg
Modified:
trunk/ChangeLog
trunk/NEWS
trunk/doc/C/gnome-commander.xml
trunk/src/gnome-cmd-xfer-progress-win.cc
trunk/src/gnome-cmd-xfer-progress-win.h
trunk/src/gnome-cmd-xfer.cc
Modified: trunk/NEWS
==============================================================================
--- trunk/NEWS (original)
+++ trunk/NEWS Mon Jul 14 21:28:32 2008
@@ -11,6 +11,7 @@
* User defined shortcuts to arbitrary programs
* Copying selected URIs to clipboard with ALT+click on toolbar button
* Revamped search dialog
+ * Revamped transfer progress dialog
* Updated help docs
* New or updated translations: cs, de, es, fr, it, ja, oc, pl
* New key bindings:
Modified: trunk/doc/C/gnome-commander.xml
==============================================================================
--- trunk/doc/C/gnome-commander.xml (original)
+++ trunk/doc/C/gnome-commander.xml Mon Jul 14 21:28:32 2008
@@ -5941,6 +5941,9 @@
<para>Revamped search dialog</para>
</listitem>
<listitem>
+ <para>Revamped transfer progress dialog</para>
+ </listitem>
+ <listitem>
<para>Updated help docs</para>
</listitem>
<listitem>
Modified: trunk/src/gnome-cmd-xfer-progress-win.cc
==============================================================================
--- trunk/src/gnome-cmd-xfer-progress-win.cc (original)
+++ trunk/src/gnome-cmd-xfer-progress-win.cc Mon Jul 14 21:28:32 2008
@@ -77,7 +77,6 @@
GtkWidget *button;
GtkWidget *w = GTK_WIDGET (win);
-
win->cancel_pressed = FALSE;
gtk_window_set_title (GTK_WINDOW (win), _("Progress"));
@@ -98,6 +97,9 @@
win->totalprog = create_progress_bar (w);
gtk_container_add (GTK_CONTAINER (vbox), win->totalprog);
+ win->fileprog = create_progress_bar (w);
+ gtk_container_add (GTK_CONTAINER (vbox), win->fileprog);
+
bbox = create_hbuttonbox (w);
gtk_container_add (GTK_CONTAINER (vbox), bbox);
@@ -111,10 +113,17 @@
* Public functions
***********************************/
-GtkWidget *gnome_cmd_xfer_progress_win_new ()
+GtkWidget *gnome_cmd_xfer_progress_win_new (guint no_of_files)
{
GnomeCmdXferProgressWin *win = (GnomeCmdXferProgressWin *) gtk_type_new (gnome_cmd_xfer_progress_win_get_type ());
+ if (no_of_files<2)
+ {
+ GtkWidget *vbox = gtk_bin_get_child (GTK_BIN (win));
+ gtk_container_remove (GTK_CONTAINER (vbox), win->fileprog);
+ win->fileprog = NULL;
+ }
+
return GTK_WIDGET (win);
}
@@ -145,25 +154,30 @@
void gnome_cmd_xfer_progress_win_set_total_progress (GnomeCmdXferProgressWin *win,
+ GnomeVFSFileSize file_bytes_copied,
+ GnomeVFSFileSize file_size,
GnomeVFSFileSize bytes_copied,
GnomeVFSFileSize bytes_total)
{
- gchar text[128];
- gfloat prog = -1.0f;
+ gfloat total_prog = bytes_total>0 ? (gdouble) bytes_copied/(gdouble) bytes_total : -1.0f;
+ gtk_progress_set_percentage (GTK_PROGRESS (win->totalprog), total_prog);
- if (bytes_total > 0)
- prog = (gdouble) bytes_copied / (gdouble) bytes_total;
+ if (win->fileprog)
+ {
+ gfloat file_prog = file_size>0 ? (gdouble) file_bytes_copied/(gdouble) file_size : -1.0f;
+ gtk_progress_set_percentage (GTK_PROGRESS (win->fileprog), file_prog);
+ }
- gtk_progress_set_percentage (GTK_PROGRESS (win->totalprog), prog);
+ gchar *bytes_total_str = g_strdup (size2string (bytes_total, gnome_cmd_data_get_size_disp_mode()));
+ const gchar *bytes_copied_str = size2string (bytes_copied, gnome_cmd_data_get_size_disp_mode());
- gchar *bytes_total_str = g_strdup(size2string(bytes_total, gnome_cmd_data_get_size_disp_mode()));
- const gchar *bytes_copied_str = size2string(bytes_copied, gnome_cmd_data_get_size_disp_mode());
+ gchar text[128];
g_snprintf (text, sizeof (text), _("%s of %s copied"), bytes_copied_str, bytes_total_str);
gtk_label_set_text (GTK_LABEL (win->fileprog_label), text);
- g_snprintf (text, sizeof (text), _("%.0f%% copied"), prog*100.0f);
+ g_snprintf (text, sizeof (text), _("%.0f%% copied"), total_prog*100.0f);
gtk_window_set_title (GTK_WINDOW (win), text);
g_free (bytes_total_str);
Modified: trunk/src/gnome-cmd-xfer-progress-win.h
==============================================================================
--- trunk/src/gnome-cmd-xfer-progress-win.h (original)
+++ trunk/src/gnome-cmd-xfer-progress-win.h Mon Jul 14 21:28:32 2008
@@ -38,6 +38,7 @@
GtkWindow parent;
GtkWidget *totalprog;
+ GtkWidget *fileprog;
GtkWidget *msg_label;
GtkWidget *fileprog_label;
@@ -51,23 +52,18 @@
};
-GtkWidget*
-gnome_cmd_xfer_progress_win_new (void);
+GtkWidget *gnome_cmd_xfer_progress_win_new (guint no_of_files=0);
-GtkType
-gnome_cmd_xfer_progress_win_get_type (void);
+GtkType gnome_cmd_xfer_progress_win_get_type (void);
-void
-gnome_cmd_xfer_progress_win_set_total_progress (GnomeCmdXferProgressWin *win,
- GnomeVFSFileSize bytes_copied,
- GnomeVFSFileSize bytes_total);
-
-void
-gnome_cmd_xfer_progress_win_set_msg (GnomeCmdXferProgressWin *win,
- const gchar *string);
-
-void
-gnome_cmd_xfer_progress_win_set_action (GnomeCmdXferProgressWin *win,
- const gchar *string);
+void gnome_cmd_xfer_progress_win_set_total_progress (GnomeCmdXferProgressWin *win,
+ GnomeVFSFileSize file_bytes_copied,
+ GnomeVFSFileSize file_size,
+ GnomeVFSFileSize bytes_copied,
+ GnomeVFSFileSize bytes_total);
+
+void gnome_cmd_xfer_progress_win_set_msg (GnomeCmdXferProgressWin *win, const gchar *string);
+
+void gnome_cmd_xfer_progress_win_set_action (GnomeCmdXferProgressWin *win, const gchar *string);
#endif // __GNOME_CMD_XFER_PROGRESS_WIN_H__
Modified: trunk/src/gnome-cmd-xfer.cc
==============================================================================
--- trunk/src/gnome-cmd-xfer.cc (original)
+++ trunk/src/gnome-cmd-xfer.cc Mon Jul 14 21:28:32 2008
@@ -248,7 +248,7 @@
if ((total_diff > (gfloat)0.01 && total_prog >= 0.0 && total_prog <= 1.0) || data->first_time)
{
data->first_time = FALSE;
- gnome_cmd_xfer_progress_win_set_total_progress (data->win, data->total_bytes_copied, data->bytes_total);
+ gnome_cmd_xfer_progress_win_set_total_progress (data->win, data->bytes_copied, data->file_size, data->total_bytes_copied, data->bytes_total);
while (gtk_events_pending ())
gtk_main_iteration_do (FALSE);
}
@@ -418,7 +418,7 @@
g_free (dest_fn);
- data->win = GNOME_CMD_XFER_PROGRESS_WIN (gnome_cmd_xfer_progress_win_new ());
+ data->win = GNOME_CMD_XFER_PROGRESS_WIN (gnome_cmd_xfer_progress_win_new (num_files));
gtk_widget_ref (GTK_WIDGET (data->win));
gtk_window_set_title (GTK_WINDOW (data->win), _("preparing..."));
gtk_widget_show (GTK_WIDGET (data->win));
@@ -502,9 +502,9 @@
data = create_xfer_data (xferOptions, src_uri_list, dest_uri_list,
NULL, NULL, NULL,
- (GFunc)on_completed_func, on_completed_data);
+ (GFunc) on_completed_func, on_completed_data);
- data->win = GNOME_CMD_XFER_PROGRESS_WIN (gnome_cmd_xfer_progress_win_new ());
+ data->win = GNOME_CMD_XFER_PROGRESS_WIN (gnome_cmd_xfer_progress_win_new (g_list_length (src_uri_list)));
gtk_window_set_title (GTK_WINDOW (data->win), _("downloading to /tmp"));
gtk_widget_show (GTK_WIDGET (data->win));
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]