Based on a patch by: Andrey Gusev <ronne@list.ru>
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) svn path=/trunk/; revision=8770
This commit is contained in:
parent
ccffbf0999
commit
feacdff503
2 changed files with 16 additions and 4 deletions
|
@ -1,3 +1,11 @@
|
|||
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)
|
||||
|
||||
2008-06-15 Jens Granseuer <jensgr@gmx.net>
|
||||
|
||||
Patch by: Andrey Gusev <ronne@list.ru>
|
||||
|
|
|
@ -656,11 +656,15 @@ break_window_postpone_cb (GtkWidget *window,
|
|||
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);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue