[Goodies-commits] r7442 - in xfce4-dict/trunk: . lib
Enrico Troeger
enrico at xfce.org
Fri May 29 19:46:32 CEST 2009
Author: enrico
Date: 2009-05-29 17:46:32 +0000 (Fri, 29 May 2009)
New Revision: 7442
Modified:
xfce4-dict/trunk/ChangeLog
xfce4-dict/trunk/lib/speedreader.c
Log:
Display the speed reading status in the window title to make it more clear when the speed reading has finished.
Modified: xfce4-dict/trunk/ChangeLog
===================================================================
--- xfce4-dict/trunk/ChangeLog 2009-05-29 16:48:06 UTC (rev 7441)
+++ xfce4-dict/trunk/ChangeLog 2009-05-29 17:46:32 UTC (rev 7442)
@@ -4,6 +4,8 @@
Don't treat quotes as word separators.
Add an option to mark paragraphs when Speed Reading.
Fix input focus in the Speed Reader dialog and enable word wrap.
+ Display the speed reading status in the window title to make it
+ more clear when the speed reading has finished.
2009-05-18 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>
Modified: xfce4-dict/trunk/lib/speedreader.c
===================================================================
--- xfce4-dict/trunk/lib/speedreader.c 2009-05-29 16:48:06 UTC (rev 7441)
+++ xfce4-dict/trunk/lib/speedreader.c 2009-05-29 17:46:32 UTC (rev 7442)
@@ -59,9 +59,15 @@
enum
{
RESPONSE_START,
- RESPONSE_STOP,
+ RESPONSE_STOP
};
+enum
+{
+ XSR_STATE_INITIAL,
+ XSR_STATE_RUNNING,
+ XSR_STATE_FINISHED
+};
G_DEFINE_TYPE(XfdSpeedReader, xfd_speed_reader, GTK_TYPE_DIALOG);
@@ -230,6 +236,31 @@
}
+static void xfd_speed_reader_set_window_title(XfdSpeedReader *dialog, gint state)
+{
+ gchar *title, *state_str, *name;
+
+ switch (state)
+ {
+ case XSR_STATE_RUNNING:
+ state_str = _("Running");
+ break;
+ case XSR_STATE_FINISHED:
+ state_str = _("Finished");
+ break;
+ default:
+ state_str = "";
+ }
+
+ name = _("Speed Reader");
+ title = g_strdup_printf("%s%s%s", name, (NZV(state_str)) ? " - " : "", state_str);
+
+ gtk_window_set_title(GTK_WINDOW(dialog), title);
+
+ g_free(title);
+}
+
+
static gboolean sr_timer(gpointer data)
{
XfdSpeedReaderPrivate *priv = XFD_SPEED_READER_GET_PRIVATE(data);
@@ -237,6 +268,7 @@
if (priv->word_idx >= priv->words_len)
{
sr_stop(XFD_SPEED_READER(data));
+ xfd_speed_reader_set_window_title(XFD_SPEED_READER(data), XSR_STATE_FINISHED);
return FALSE;
}
@@ -275,11 +307,12 @@
if (! NZV(text))
{
gtk_dialog_response(GTK_DIALOG(dialog), RESPONSE_STOP);
- /* FIXME use an own error dialog implementation */
dict_show_msgbox(priv->dd, GTK_MESSAGE_ERROR, _("You must enter a text."));
return;
}
+ xfd_speed_reader_set_window_title(dialog, XSR_STATE_RUNNING);
+
/* mark paragraphs? */
priv->dd->speedreader_mark_paragraphs = gtk_toggle_button_get_active(
GTK_TOGGLE_BUTTON(priv->check_mark_paragraphs));
@@ -325,6 +358,7 @@
g_strfreev(priv->words);
priv->words = NULL;
}
+ xfd_speed_reader_set_window_title(dialog, XSR_STATE_INITIAL);
}
@@ -414,7 +448,7 @@
GtkSizeGroup *sizegroup;
XfdSpeedReaderPrivate *priv = XFD_SPEED_READER_GET_PRIVATE(dialog);
- gtk_window_set_title(GTK_WINDOW(dialog), _("Speed Reader"));
+ xfd_speed_reader_set_window_title(dialog, XSR_STATE_INITIAL);
gtk_window_set_destroy_with_parent(GTK_WINDOW(dialog), TRUE);
gtk_window_set_default_size(GTK_WINDOW(dialog), 400, 300);
gtk_dialog_set_default_response(GTK_DIALOG(dialog), GTK_RESPONSE_CLOSE);
More information about the Goodies-commits
mailing list