From 418a6f7edd678461c106e0e5b01183400c0746a1 Mon Sep 17 00:00:00 2001 From: Ole Loots Date: Sat, 23 Nov 2013 17:52:33 +0100 Subject: [PATCH] Added GUI pol timeout selection popup. The user must decide for himself. Default to 0, which eats GUI resources but speeds-up rendering. --- atari/gui.c | 2 +- atari/options.h | 1 + atari/res/netsurf.rsc | Bin 37984 -> 38074 bytes atari/res/netsurf.rsh | 1 + atari/res/netsurf.rsm | 7 ++++--- atari/settings.c | 32 ++++++++++++++++++++++++++++++++ 6 files changed, 39 insertions(+), 4 deletions(-) diff --git a/atari/gui.c b/atari/gui.c index 427dd5498..8cbe416b3 100644 --- a/atari/gui.c +++ b/atari/gui.c @@ -125,7 +125,7 @@ void gui_poll(bool active) aes_event_in.emi_tlow = schedule_run(); if(active || rendering){ - aes_event_in.emi_tlow = 10; + aes_event_in.emi_tlow = nsoption_int(atari_gui_poll_timeout); } if(aes_event_in.emi_tlow < 0) { diff --git a/atari/options.h b/atari/options.h index 7a4da6a15..4ae847d74 100755 --- a/atari/options.h +++ b/atari/options.h @@ -28,6 +28,7 @@ NSOPTION_STRING(atari_font_driver, "freetype") NSOPTION_INTEGER(atari_font_monochrom, 0) NSOPTION_INTEGER(atari_transparency, 1) NSOPTION_INTEGER(atari_dither, 1) +NSOPTION_INTEGER(atari_gui_poll_timeout, 0) NSOPTION_STRING(atari_editor, NULL) NSOPTION_STRING(font_face_sans_serif, NULL) NSOPTION_STRING(font_face_sans_serif_bold, NULL) diff --git a/atari/res/netsurf.rsc b/atari/res/netsurf.rsc index 165dd9bf862af1506cbdc38359623b1ac23eee8d..231776755bb7557501a261cd86b02db5df5d148a 100755 GIT binary patch delta 5101 zcmZvgYiu0V701ua&dxr(emfg`ZO3bSAND@Hu?YzzPHTu|C&i&Dfe7VgkP?+PPN`^k zs7*Uo8dPWlA-y3`luAGYrTu^^B}9crZKOt&LOz75MHNkH)E24Gszia(6h)!`bMDO8 zSIJsu?D_rgJ@?F+d(XY=b1&Gh{KU?YLwh@CvQG9w=S=6!P`Y!5My(!dp%TSNKDDoxcpa9em^$a$21f=7gRha9Lsu1-aUyncT5M2q0AV8~;jmhfW8;jVu( zxGj9Z;NJj`2p=@~_rM+DrH}*l{}h)fc|34A6nKDFA-K|^5_0bFE-o?QRfAsyj|(4~ z&vQxegz$cYF9J^rzlIj8^G@GLZUl&^9ifaEP1k^0!fOVX z^JO8&gXJCpw~6_6AqUDmhf75G^#=b1xFdXd$l1@E;89w*5sp@b0y}yS7gsurhMYTm z0v;2-GUPyct`c$K*BHECO}RsMepu~xCo=g})CngpMsuW92IUAKKcUXLwc$066(^@@ zPIax>8=&4!t!UH$u4_%VgIiRz88sTKS)Q7S{mQzaD)DLSA+;~Q)yq1_4eAUmBE$4> zbE0ek&#Ji|KH#engyy;^2K>t?ikj=981Q`(4ExtbG2ky!GgvDNzxT? zZC*~n+reAaRBG!;Ax&vyD*?CqnHMMA z#hU=Qje0PVI7%Ho*Jy-GzbS(z4X#uYK-35FKrPY?#q4$Y^--XQBq+YJS zam`-%jYY@TVo(vidiw_`Cs6Sf9u^ zba@Q?J+k5@T8Y7RhPu%AB=~>8Em?0mL%hfz!)B6l8o?{@uQS9PSza{YG$NwPT!sQ+ z9333#pfeQkJJ7)ut}_(y-Dn>Z9&Gdy(BNsfkH~|iB%^+ygMUDv4#Kyn9^CsB+oA4o z4momVrRhur{C#pTKnxvfSmNa%6N48(x@cv*fs7-};3bqn9D|_hBMdUfpHiLE44wkl zN0X;VX1%D!+iD#r@pwdB7v}a@4(oSnAKLs&ooJi%c#$>Wk=k#mnvPh6%|8Qj=4%3G+4+*|lrB7TDQIh-ORQZ=qM{O^Q+EF+!_ zdjAYMjLAD02G{#%z&E2qjF|iTCjy!!sw@RhNXq>EQwLgE4L^0l{r%JDo6tTb{4=zI zl$GwY9#FaT{nkNsI6ZCsOkGOny=n3%f8{$EkR(5=jpsTolYc4HHTt=1yjq0Ai$Wg{ zKgWE#pU)~UHyi_Ty-Bxsh}&0tFcTt@=P94Vj|ZWO$`_U0X{`u;*{*(;BJm{E!_m#U zgI>MWwUoz9WBz%g{U(r@46x20V9Y|^synC^oWuG;*dDLAdJp^~T6T1c-@&pTf-s9c zJuV&AhaHfb>bKQY`*gN4T+PR?mRj!gXm2{P3m|b>efSEfCH@aHWGTZ2^B5JSJS1wt&A69v2>z zHUI?l0WJyQL21*RceSK&E^X_%v}xgg_*Eyu+_y8J>SbI~!i{fdLlN+L;d*!JqAUmv z#np+-R&NN?0h5ELFXiuq&A`5ig^f@1ERH{yvDTWw9)#hfn|~B@*M-Incst{MhhRAO z=U+oVmu$aZ8xG@?e;xJ??9!E5p@%#w;Jav{1`&?n6v>n+O@+naD_~Ps22;2hd_C;e zxnR(b=O`8KgW<6@CQ! zE$np(#^$F-KR%LC;SJcoVIN2^fz~hDdF-a$utkPeWvz&BC&iBIaJk-(bXJ`5>5+=d zRknM9#~T$DSHW(AaV9wRx}BuHxE6dPY?Gn!8mHoB*gdeXiKbtRpNZlw@P}dFHTv<{ zkc#+fS9}8Yq-ThdiQ*3+9DzM&XnZ!O;`6Yhuw#a%gLw)3RoHI~jnC**#G)*|4f~U! zwU7sK0I43R!ZsRW6}u7*;0Xut6a&YvqT#ePfW-cs9ZtuhGL4A7&x5sh&_|b#eH&RWLx2?(U`qIwrci+2fIW4B0N4He_?C2|K Q^jG!F$OA_&)wXT>KSfC&BLDyZ delta 5056 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 sH+D0WD+$4FCWD diff --git a/atari/res/netsurf.rsh b/atari/res/netsurf.rsh index d37e48768..f09644417 100755 --- a/atari/res/netsurf.rsh +++ b/atari/res/netsurf.rsh @@ -194,6 +194,7 @@ #define SETTINGS_DEC_HISTORY_AGE 89 /* BOXCHAR in tree SETTINGS */ #define SETTINGS_EDIT_HISTORY_AGE 90 /* FTEXT in tree SETTINGS */ #define SETTINGS_INC_HISTORY_AGE 91 /* BOXCHAR in tree SETTINGS */ +#define SETTINGS_BT_GUI_TOUT 94 /* BUTTON in tree SETTINGS */ #define POP_LANGUAGE 14 /* form/dial */ #define POP_LANGUAGE_CS 1 /* STRING in tree POP_LANGUAGE */ diff --git a/atari/res/netsurf.rsm b/atari/res/netsurf.rsm index 5074e078b..d14eda0ca 100755 --- a/atari/res/netsurf.rsm +++ b/atari/res/netsurf.rsm @@ -3,7 +3,7 @@ ResourceMaster v3.65 #N 99@32@AZAaza___ _@AZAaza090___ _@@_@ #FoC-Header@rsm2out@C-Header@rsh@@@[C-Header@0@ #R 0@0@1@1@2@1@ -#M 20010100@0@7728@654@ +#M 20010100@0@7728@655@ #T 0@1@MAINMENU@@64@@ #O 4@32@T_FILE@@ #O 5@32@T_EDIT@@ @@ -128,7 +128,7 @@ ResourceMaster v3.65 #O 5@33@BT_DOWN_PIC@@ #O 6@25@BT_UP@@ #O 4@33@BT_UP_PIC@@ -#T 13@2@SETTINGS@@93@@ +#T 13@2@SETTINGS@@96@@ #O 1@26@SAVE@@ #O 2@26@ABORT@@ #O 5@29@EDIT_DOWNLOAD_PATH@@ @@ -183,6 +183,7 @@ ResourceMaster v3.65 #O 89@27@DEC_HISTORY_AGE@@ #O 90@29@EDIT_HISTORY_AGE@@ #O 91@27@INC_HISTORY_AGE@@ +#O 94@26@BT_GUI_TOUT@@ #T 14@2@POP_LANGUAGE@@16@@ #O 1@28@CS@@ #O 2@28@DE@@ @@ -203,4 +204,4 @@ ResourceMaster v3.65 #T 16@2@TOOLBAR_HISTORY@@1@@ #T 17@2@TOOLBAR_SSL_CERT@@2@@ #O 1@26@TRUSTED@@ -#c 27986@ +#c 29166@ diff --git a/atari/settings.c b/atari/settings.c index 94445c108..cf6aa73ae 100644 --- a/atari/settings.c +++ b/atari/settings.c @@ -59,6 +59,11 @@ static const char *font_engines[] = { #endif }; +/* Available GUI timeouts for the timeout selection popup: */ +static const char *gui_timeouts[] = { + "0", "5", "10" +}; + #define OBJ_SELECTED(idx) ((bool)((dlgtree[idx].ob_state & OS_SELECTED)!=0)) #define OBJ_CHECK(idx) (dlgtree[idx].ob_state |= (OS_SELECTED)); @@ -220,6 +225,9 @@ static void display_settings(void) nsoption_charp(accept_language) ? nsoption_charp(accept_language) : (char*)"en", INPUT_LOCALE_MAX_LEN ); + sprintf(spare, "%d", nsoption_int(atari_gui_poll_timeout)); + set_text(SETTINGS_BT_GUI_TOUT, spare, 2); + tmp_option_expire_url = nsoption_int(expire_url); snprintf( spare, 255, "%02d", nsoption_int(expire_url) ); set_text( SETTINGS_EDIT_HISTORY_AGE, spare, 2 ); @@ -446,6 +454,28 @@ static void form_event(int index, int external) OBJ_REDRAW(SETTINGS_BT_SEL_LOCALE); break; + case SETTINGS_BT_GUI_TOUT: + objc_offset(dlgtree, SETTINGS_BT_GUI_TOUT, &x, &y); + tmp = gemtk_obj_get_text(dlgtree, SETTINGS_BT_GUI_TOUT); + pop_menu.mn_tree = gemtk_obj_create_popup_tree(gui_timeouts, + NOF_ELEMENTS(gui_timeouts), tmp, false, -1, + 100); + + pop_menu.mn_item = 0; + pop_menu.mn_menu = 0; + pop_menu.mn_scroll = SCROLL_NO; + pop_menu.mn_keystate = 0; + + menu_popup(&pop_menu, x, y, &me_data); + choice = me_data.mn_item; + if( choice > 0 && choice <= NOF_ELEMENTS(gui_timeouts) ) { + get_string(pop_menu.mn_tree, choice, spare); + set_text(SETTINGS_BT_GUI_TOUT, (char*)&spare[2], 5); + } + + OBJ_REDRAW(SETTINGS_BT_GUI_TOUT); + break; + /* case SETTINGS_INPUT_TOOLBAR_BGCOLOR: objc_offset( FORM(win), SETTINGS_INPUT_TOOLBAR_BGCOLOR, &x, &y ); @@ -701,6 +731,8 @@ static void apply_settings(void) gemtk_obj_get_text(dlgtree, SETTINGS_BT_SEL_LOCALE)); nsoption_set_int(expire_url, atoi(gemtk_obj_get_text(dlgtree, SETTINGS_EDIT_HISTORY_AGE))); + nsoption_set_int(atari_gui_poll_timeout, + atoi(gemtk_obj_get_text(dlgtree, SETTINGS_BT_GUI_TOUT))); nsoption_set_bool(send_referer, OBJ_SELECTED(SETTINGS_CB_SEND_HTTP_REFERRER)); nsoption_set_bool(do_not_track,