gnome-control-center r8770 - trunk/typing-break
- From: jensg svn gnome org
- To: svn-commits-list gnome org
- Subject: gnome-control-center r8770 - trunk/typing-break
- Date: Fri, 27 Jun 2008 16:52:19 +0000 (UTC)
Author: jensg
Date: Fri Jun 27 16:52:18 2008
New Revision: 8770
URL: http://svn.gnome.org/viewvc/gnome-control-center?rev=8770&view=rev
Log:
2008-06-27 Jens Granseuer <jensgr gmx net>
Based on a patch by: Andrey Gusev <ronne list ru>
* drwright.c: (break_window_postpone_cb): when postponing a break
don't go right back to warn state, but award some bonus time according
to the already elapsed break time (bug #133295)
Modified:
trunk/typing-break/ChangeLog
trunk/typing-break/drwright.c
Modified: trunk/typing-break/drwright.c
==============================================================================
--- trunk/typing-break/drwright.c (original)
+++ trunk/typing-break/drwright.c Fri Jun 27 16:52:18 2008
@@ -656,11 +656,15 @@
dr->state = STATE_TYPE;
dr->break_window = NULL;
- elapsed_time = g_timer_elapsed (dr->timer, NULL) + dr->save_last_time;
+ elapsed_time = g_timer_elapsed (dr->timer, NULL);
- if (elapsed_time >= dr->type_time) {
- /* time is expired, but break was postponed */
- dr->save_last_time = dr->type_time - dr->warn_time;
+ if (elapsed_time + dr->save_last_time >= dr->type_time) {
+ /* Typing time has expired, but break was postponed.
+ * We'll warn again in (elapsed * sqrt (typing_time))^2 */
+ gfloat postpone_time = (((float) elapsed_time) / dr->break_time)
+ * sqrt (dr->type_time);
+ postpone_time *= postpone_time;
+ dr->save_last_time = dr->type_time - MAX (dr->warn_time, (gint) postpone_time);
}
g_timer_start (dr->timer);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]