@@ -269,12 +269,13 @@ Chrome or Firefox browsers are though required when running ROOT in batch mode.
269269Most configuration options for RBrowser, such as default web browser, server mode are not specific to this class,
270270but are rather applied for all web widgets: canvases, geometry viewer, eve7, browser, fit panel, etc.
271271
272- Following .rootrc parameters can be configured for the browser:
272+ Following ` .rootrc` parameters can be configured for the browser:
273273
274274 * WebGui.Browser.SortBy: sort by "name", "size", "none" (default "name")
275275 * WebGui.Browser.Reverse: reverse item order (default off)
276276 * WebGui.Browser.ShowHidden: show hidden files (default off)
277277 * WebGui.Browser.LastCycle: show only last key cycle (default off)
278+ * WebGui.Browser.Expand: expand browsable area (default off)
278279
279280\note See major settings in RWebWindowWindowsManager::CreateServer and RWebWindowsManager::ShowWindow
280281*/
@@ -312,16 +313,12 @@ RBrowser::RBrowser(bool use_rcanvas)
312313
313314 reverse = (reverse == " on" || reverse == " yes" || reverse == " 1" ) ? " true" : " false" ;
314315 hidden = (hidden == " on" || hidden == " yes" || hidden == " 1" ) ? " true" : " false" ;
315- if (lastcycle == " on" || lastcycle == " yes" || lastcycle == " 1" ) {
316- lastcycle = " 1" ;
316+ if (lastcycle == " on" || lastcycle == " yes" || lastcycle == " 1" )
317317 Browsable::RElement::SetLastKeyCycle (true );
318- } else if (lastcycle == " off" || lastcycle == " no" || lastcycle == " 0" ) {
319- lastcycle = " -1" ;
318+ else if (lastcycle == " off" || lastcycle == " no" || lastcycle == " 0" )
320319 Browsable::RElement::SetLastKeyCycle (false );
321- } else
322- lastcycle = Browsable::RElement::IsLastKeyCycle () ? " 1" : " 0" ;
323320
324- fWebWindow ->SetUserArgs (TString::Format (" { sort: \" %s\" , reverse: %s, hidden: %s, lastcycle: %s }" , sortby.c_str (), reverse.c_str (), hidden. c_str (), lastcycle .c_str ()).Data ());
321+ fWebWindow ->SetUserArgs (TString::Format (" { sort: \" %s\" , reverse: %s, hidden: %s }" , sortby.c_str (), reverse.c_str (), hidden.c_str ()).Data ());
325322
326323 // this is call-back, invoked when message received via websocket
327324 fWebWindow ->SetCallBacks ([this ](unsigned connid) { fConnId = connid; SendInitMsg (connid); },
@@ -774,7 +771,8 @@ void RBrowser::SendInitMsg(unsigned connid)
774771
775772 reply.emplace_back (std::vector<std::string>({
776773 " settings" s,
777- gEnv ->GetValue (" WebGui.Browser.Expand" , " no" )
774+ gEnv ->GetValue (" WebGui.Browser.Expand" , " no" ),
775+ Browsable::RElement::IsLastKeyCycle () ? " 1" : " 0"
778776 }));
779777
780778 std::string msg = " INMSG:" ;
@@ -898,6 +896,10 @@ void RBrowser::ProcessMsg(unsigned connid, const std::string &arg0)
898896 auto json = ProcessBrowserRequest (msg);
899897 if (!json.empty ()) fWebWindow ->Send (connid, json);
900898
899+ } else if (kind == " LASTCYCLE" ) {
900+ // when changed on clients side
901+ Browsable::RElement::SetLastKeyCycle (msg == " 1" );
902+
901903 } else if (kind == " DBLCLK" ) {
902904
903905 auto arr = TBufferJSON::FromJSON<std::vector<std::string>>(msg);
0 commit comments