gtranslator r3525 - in trunk: . src
- From: icq svn gnome org
- To: svn-commits-list gnome org
- Subject: gtranslator r3525 - in trunk: . src
- Date: Mon, 24 Mar 2008 23:14:08 +0000 (GMT)
Author: icq
Date: Mon Mar 24 23:14:08 2008
New Revision: 3525
URL: http://svn.gnome.org/viewvc/gtranslator?rev=3525&view=rev
Log:
2008-03-25 Ignacio Casal Quinteiro <nacho resa gmail com>
* src/actions-go.c:
* src/window.ch:
* src/statusbar.ch:
* src/actions-file.c:
Now progress bar is inside of our statusbar class.
(Fixes bug #514758).
Modified:
trunk/ChangeLog
trunk/src/actions-file.c
trunk/src/actions-go.c
trunk/src/statusbar.c
trunk/src/statusbar.h
trunk/src/window.c
trunk/src/window.h
Modified: trunk/src/actions-file.c
==============================================================================
--- trunk/src/actions-file.c (original)
+++ trunk/src/actions-file.c Mon Mar 24 23:14:08 2008
@@ -32,6 +32,7 @@
#include "file-dialogs.h"
#include "notebook.h"
#include "po.h"
+#include "statusbar.h"
#include "tab.h"
#include "window.h"
@@ -92,7 +93,9 @@
active_view = gtranslator_tab_get_active_view(tab);
gtk_widget_grab_focus(GTK_WIDGET(active_view));
- gtranslator_window_update_progress_bar(window);
+ gtranslator_statusbar_update_progress_bar (GTR_STATUSBAR (gtranslator_window_get_statusbar (window)),
+ (gdouble)gtranslator_po_get_translated_count (po),
+ (gdouble)gtranslator_po_get_messages_count (po));
return TRUE;
}
Modified: trunk/src/actions-go.c
==============================================================================
--- trunk/src/actions-go.c (original)
+++ trunk/src/actions-go.c Mon Mar 24 23:14:08 2008
@@ -41,8 +41,6 @@
po = gtranslator_tab_get_po(current);
gtranslator_tab_message_go_to(current,
g_list_first(gtranslator_po_get_current_message(po)));
- //gtranslator_window_update_statusbar(window);
- gtranslator_window_update_progress_bar(window);
set_sensitive_according_to_message(window, po);
}
@@ -57,8 +55,6 @@
po = gtranslator_tab_get_po(current);
gtranslator_tab_message_go_to(current,
g_list_previous(gtranslator_po_get_current_message(po)));
- //gtranslator_window_update_statusbar(window);
- gtranslator_window_update_progress_bar(window);
set_sensitive_according_to_message(window, po);
}
@@ -73,8 +69,6 @@
po = gtranslator_tab_get_po(current);
gtranslator_tab_message_go_to(current,
g_list_next(gtranslator_po_get_current_message(po)));
- //gtranslator_window_update_statusbar(window);
- gtranslator_window_update_progress_bar(window);
set_sensitive_according_to_message(window, po);
}
@@ -89,8 +83,6 @@
po = gtranslator_tab_get_po(current);
gtranslator_tab_message_go_to(current,
g_list_last(gtranslator_po_get_current_message(po)));
- //gtranslator_window_update_statusbar(window);
- gtranslator_window_update_progress_bar(window);
set_sensitive_according_to_message(window, po);
}
@@ -116,8 +108,6 @@
if(msg != NULL)
{
gtranslator_tab_message_go_to(current, msg);
- // gtranslator_window_update_statusbar(window);
- gtranslator_window_update_progress_bar(window);
set_sensitive_according_to_message(window, po);
}
}
@@ -136,8 +126,6 @@
if(msg != NULL)
{
gtranslator_tab_message_go_to(current, msg);
- //gtranslator_window_update_statusbar(window);
- gtranslator_window_update_progress_bar(window);
set_sensitive_according_to_message(window, po);
}
}
@@ -156,8 +144,6 @@
if(msg != NULL)
{
gtranslator_tab_message_go_to(current, msg);
- //gtranslator_window_update_statusbar(window);
- gtranslator_window_update_progress_bar(window);
set_sensitive_according_to_message(window, po);
}
}
@@ -176,8 +162,6 @@
if(msg != NULL)
{
gtranslator_tab_message_go_to(current, msg);
-// gtranslator_window_update_statusbar(window);
- gtranslator_window_update_progress_bar(window);
set_sensitive_according_to_message(window, po);
}
}
Modified: trunk/src/statusbar.c
==============================================================================
--- trunk/src/statusbar.c (original)
+++ trunk/src/statusbar.c Mon Mar 24 23:14:08 2008
@@ -34,6 +34,9 @@
struct _GtranslatorStatusbarPrivate
{
+ GtkWidget *statusbar;
+ GtkWidget *progress_bar;
+
GtkWidget *overwrite_mode_label;
/* tmp flash timeout data */
@@ -42,7 +45,7 @@
guint flash_message_id;
};
-G_DEFINE_TYPE(GtranslatorStatusbar, gtranslator_statusbar, GTK_TYPE_STATUSBAR)
+G_DEFINE_TYPE(GtranslatorStatusbar, gtranslator_statusbar, GTK_TYPE_HBOX)
static void
gtranslator_statusbar_finalize (GObject *object)
@@ -68,13 +71,32 @@
static void
gtranslator_statusbar_init (GtranslatorStatusbar *statusbar)
{
-
GtkWidget *frame;
GtkShadowType shadow_type;
statusbar->priv = GTR_STATUSBAR_GET_PRIVATE (statusbar);
- gtk_widget_style_get (GTK_WIDGET (statusbar), "shadow-type", &shadow_type, NULL);
+ /*
+ * Statusbar
+ */
+ statusbar->priv->statusbar = gtk_statusbar_new ();
+ gtk_widget_show (statusbar->priv->statusbar);
+ gtk_box_pack_end (GTK_BOX (statusbar), statusbar->priv->statusbar,
+ TRUE, TRUE, 0);
+
+ /*
+ * Progress bar
+ */
+ statusbar->priv->progress_bar = gtk_progress_bar_new ();
+ gtk_widget_show (statusbar->priv->progress_bar);
+ gtk_box_pack_start (GTK_BOX (statusbar), statusbar->priv->progress_bar,
+ FALSE, FALSE, 0);
+
+ /*
+ * Ins/Ovr stuff
+ */
+ gtk_widget_style_get (GTK_WIDGET (statusbar->priv->statusbar),
+ "shadow-type", &shadow_type, NULL);
frame = gtk_frame_new (NULL);
gtk_frame_set_shadow_type (GTK_FRAME (frame), shadow_type);
@@ -90,8 +112,8 @@
gtk_container_add (GTK_CONTAINER (frame), statusbar->priv->overwrite_mode_label);
gtk_widget_show (statusbar->priv->overwrite_mode_label);
- gtk_box_pack_start (GTK_BOX (statusbar), frame, FALSE, FALSE, 0);
-
+ gtk_box_pack_start (GTK_BOX (statusbar->priv->statusbar), frame,
+ FALSE, FALSE, 0);
}
/**
@@ -107,6 +129,27 @@
return GTK_WIDGET (g_object_new (GTR_TYPE_STATUSBAR, NULL));
}
+guint
+gtranslator_statusbar_push (GtranslatorStatusbar *statusbar,
+ guint context_id,
+ const gchar *text)
+{
+ g_return_if_fail (GTR_IS_STATUSBAR (statusbar));
+
+ return gtk_statusbar_push (GTK_STATUSBAR (statusbar->priv->statusbar),
+ context_id, text);
+}
+
+void
+gtranslator_statusbar_pop (GtranslatorStatusbar *statusbar,
+ guint context_id)
+{
+ g_return_if_fail (GTR_IS_STATUSBAR (statusbar));
+
+ gtk_statusbar_pop (GTK_STATUSBAR (statusbar->priv->statusbar),
+ context_id);
+}
+
/**
* gtranslator_statusbar_set_overwrite:
* @statusbar: a #GtranslatorStatusbar
@@ -136,7 +179,7 @@
static gboolean
remove_message_timeout (GtranslatorStatusbar *statusbar)
{
- gtk_statusbar_remove (GTK_STATUSBAR (statusbar),
+ gtk_statusbar_remove (GTK_STATUSBAR (statusbar->priv->statusbar),
statusbar->priv->flash_context_id,
statusbar->priv->flash_message_id);
@@ -181,7 +224,7 @@
}
statusbar->priv->flash_context_id = context_id;
- statusbar->priv->flash_message_id = gtk_statusbar_push (GTK_STATUSBAR (statusbar),
+ statusbar->priv->flash_message_id = gtk_statusbar_push (GTK_STATUSBAR (statusbar->priv->statusbar),
context_id,
msg);
@@ -191,3 +234,33 @@
g_free (msg);
}
+
+/*
+ * Update the progress bar
+ */
+void
+gtranslator_statusbar_update_progress_bar (GtranslatorStatusbar *statusbar,
+ gdouble translated_count,
+ gdouble messages_count)
+{
+ gdouble percentage;
+
+ g_return_if_fail (GTR_IS_STATUSBAR (statusbar));
+
+ /*
+ * Calculate the percentage.
+ */
+ percentage = translated_count / messages_count;
+
+ /*
+ * Set the progress only if the values are reasonable.
+ */
+ if(percentage > 0.0 || percentage < 1.0)
+ {
+ /*
+ * Set the progressbar status.
+ */
+ gtk_progress_bar_set_fraction (GTK_PROGRESS_BAR (statusbar->priv->progress_bar),
+ percentage);
+ }
+}
Modified: trunk/src/statusbar.h
==============================================================================
--- trunk/src/statusbar.h (original)
+++ trunk/src/statusbar.h Mon Mar 24 23:14:08 2008
@@ -21,7 +21,7 @@
#ifndef GTR_STATUSBAR_H
#define GTR_STATUSBAR_H
-#include <gtk/gtkstatusbar.h>
+#include <gtk/gtkhbox.h>
G_BEGIN_DECLS
@@ -38,7 +38,7 @@
struct _GtranslatorStatusbar
{
- GtkStatusbar parent;
+ GtkHBox parent;
/* <private/> */
GtranslatorStatusbarPrivate *priv;
@@ -46,13 +46,19 @@
struct _GtranslatorStatusbarClass
{
- GtkStatusbarClass parent_class;
+ GtkHBoxClass parent_class;
};
-GType gtranslator_statusbar_get_type (void) G_GNUC_CONST;
+GType gtranslator_statusbar_get_type (void) G_GNUC_CONST;
GtkWidget *gtranslator_statusbar_new (void);
+guint gtranslator_statusbar_push (GtranslatorStatusbar *statusbar,
+ guint context_id,
+ const gchar *text);
+
+void gtranslator_statusbar_pop (GtranslatorStatusbar *statusbar,
+ guint context_id);
void gtranslator_statusbar_set_overwrite (GtranslatorStatusbar *statusbar,
gboolean overwrite);
@@ -63,6 +69,11 @@
guint context_id,
const gchar *format,
...) G_GNUC_PRINTF(3, 4);
+
+void gtranslator_statusbar_update_progress_bar (GtranslatorStatusbar *statusbar,
+ gdouble translated_count,
+ gdouble messages_count);
+
G_END_DECLS
#endif
Modified: trunk/src/window.c
==============================================================================
--- trunk/src/window.c (original)
+++ trunk/src/window.c Mon Mar 24 23:14:08 2008
@@ -77,9 +77,7 @@
GtkWidget *statusbar;
guint generic_message_cid;
guint tip_message_cid;
-
- GtkWidget *progressbar;
-
+
GtkUIManager *ui_manager;
GtkRecentManager *recent_manager;
GtkWidget *recent_menu;
@@ -716,12 +714,12 @@
msg = g_strconcat(" ", current, " ", status_msg, " ", total,
" ", fuzzy_msg, " ", untranslated_msg, NULL);
- gtk_statusbar_pop(GTK_STATUSBAR(window->priv->statusbar),
- 0);
+ gtranslator_statusbar_pop (GTR_STATUSBAR (window->priv->statusbar),
+ 0);
- gtk_statusbar_push(GTK_STATUSBAR(window->priv->statusbar),
- 0,
- msg);
+ gtranslator_statusbar_push (GTR_STATUSBAR (window->priv->statusbar),
+ 0,
+ msg);
g_free(msg);
g_free(current);
@@ -729,6 +727,13 @@
g_free(total);
g_free(fuzzy_msg);
g_free(untranslated_msg);
+
+ /*
+ * We have to update the progress bar too
+ */
+ gtranslator_statusbar_update_progress_bar (GTR_STATUSBAR (window->priv->statusbar),
+ (gdouble)gtranslator_po_get_translated_count (po),
+ (gdouble)gtranslator_po_get_messages_count (po));
}
static GtranslatorWindow *
@@ -1299,16 +1304,9 @@
hbox = gtk_hbox_new(FALSE, 0);
gtk_box_pack_start( GTK_BOX(priv->main_box), hbox, FALSE, FALSE, 0);
gtk_widget_show(hbox);
-
- /*
- * progressbar
- */
- priv->progressbar = gtk_progress_bar_new();
- gtk_box_pack_start( GTK_BOX(hbox), priv->progressbar, FALSE, FALSE, 0);
- gtk_widget_show(priv->progressbar);
/*
- * statusbar
+ * statusbar & progress bar
*/
window->priv->statusbar = gtranslator_statusbar_new ();
@@ -1563,10 +1561,10 @@
return GTR_NOTEBOOK(window->priv->notebook);
}
-GtkStatusbar *
+GtkWidget *
gtranslator_window_get_statusbar(GtranslatorWindow *window)
{
- return GTK_STATUSBAR(window->priv->statusbar);
+ return window->priv->statusbar;
}
GtkUIManager *
@@ -1637,38 +1635,6 @@
return views;
}
-/*
- * Update the progress bar
- */
-void
-gtranslator_window_update_progress_bar(GtranslatorWindow *window)
-{
- gdouble percentage;
- GtranslatorTab *current_page;
- GtranslatorPo *po;
-
- current_page = gtranslator_window_get_active_tab(window);
- po = gtranslator_tab_get_po(current_page);
-
- /*
- * Calculate the percentage.
- */
- percentage = (gdouble)(gtranslator_po_get_translated_count(po)
- / (gdouble)gtranslator_po_get_messages_count(po));
-
- /*
- * Set the progress only if the values are reasonable.
- */
- if(percentage > 0.0 || percentage < 1.0)
- {
- /*
- * Set the progressbar status.
- */
- gtk_progress_bar_set_fraction(GTK_PROGRESS_BAR(window->priv->progressbar),
- percentage);
- }
-}
-
void
gtranslator_window_add_widget (GtranslatorWindow *window,
GtkWidget *widget,
Modified: trunk/src/window.h
==============================================================================
--- trunk/src/window.h (original)
+++ trunk/src/window.h Mon Mar 24 23:14:08 2008
@@ -94,7 +94,7 @@
GtranslatorNotebook *gtranslator_window_get_notebook (GtranslatorWindow *window);
GtranslatorHeader *gtranslator_window_get_header_from_active_tab (GtranslatorWindow *window);
-GtkStatusbar *gtranslator_window_get_statusbar (GtranslatorWindow *window);
+GtkWidget *gtranslator_window_get_statusbar (GtranslatorWindow *window);
GtkUIManager *gtranslator_window_get_ui_manager (GtranslatorWindow *window);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]