mirror of
https://github.com/KarnerF/SMPlusGui.git
synced 2026-10-06 06:00:20 +02:00
Start button shows inline ELF dropdown; pick ELF to launch SM directly
This commit is contained in:
1 parent
3102960e4e
commit
77e7ee8fca
1 file changed
+5
-2
@@ -1056,15 +1056,16 @@ static void fn(struct mg_connection *c, int ev, void *ev_data) {
|
||||
H("<div class='chip' id='sm-ver-chip'>v <b>%s</b></div>", sm_ver);
|
||||
else
|
||||
H("<div class='chip' id='sm-ver-chip' style='display:none;'>v</div>");
|
||||
H("<button id='sm-ctrl-btn' class='sm-ctrl %s' data-action='%s' onclick='smCtrl()'>%s</button>",
|
||||
H("<button id='sm-ctrl-btn' class='sm-ctrl %s' data-action='%s' onclick='%s'>%s</button>",
|
||||
sm_running ? "stop" : "start",
|
||||
sm_running ? "stop" : "start",
|
||||
sm_running ? "smCtrl()" : "smCtrlPick()",
|
||||
sm_running ? "Stop" : "Start");
|
||||
/* ELF selector next to Start button, hidden when SM is running */
|
||||
if(!sm_running){
|
||||
SMPrefs _ep; read_prefs(&_ep);
|
||||
char elfs[SM_MAX_ELFS][SM_EPATH]; int ec=sm_find_elfs(elfs);
|
||||
H("<select id='topbar-elf-sel' onchange='saveElfSel(this.value)' style='max-width:220px;font-size:.75rem;'>");
|
||||
H("<select id='topbar-elf-sel' onchange='startWithElf(this.value)' style='display:none;max-width:220px;font-size:.75rem;'>");
|
||||
H("<option value=''>– %s –</option>",L(LS_SELECT_ELF));
|
||||
for(int ei=0;ei<ec;ei++){
|
||||
const char *fn=strrchr(elfs[ei],'/'); fn=fn?fn+1:elfs[ei];
|
||||
@@ -1754,6 +1755,8 @@ static void fn(struct mg_connection *c, int ev, void *ev_data) {
|
||||
"function saveElfSel(v){fetch('/api/prefs/save',{method:'POST',headers:{'Content-Type':'application/x-www-form-urlencoded'},body:'preferred_elf='+encodeURIComponent(v)});"
|
||||
"var s1=document.getElementById('pref-elf-sel');if(s1)s1.value=v;"
|
||||
"var s2=document.getElementById('topbar-elf-sel');if(s2)s2.value=v;}"
|
||||
"function smCtrlPick(){var sel=document.getElementById('topbar-elf-sel');if(sel){sel.style.display='';return;}smCtrl();}"
|
||||
"function startWithElf(v){if(!v)return;var sel=document.getElementById('topbar-elf-sel');if(sel)sel.style.display='none';saveElfSel(v);launchElf(document.getElementById('sm-ctrl-btn'),v);}"
|
||||
"function saveHttpPort(v){var n=parseInt(v);if(n>1024&&n<65535)fetch('/api/prefs/save',{method:'POST',headers:{'Content-Type':'application/x-www-form-urlencoded'},body:'http_port='+n});}"
|
||||
"function saveIconFront(v){fetch('/api/prefs/save',{method:'POST',headers:{'Content-Type':'application/x-www-form-urlencoded'},body:'icon_always_front='+(v?1:0)});}"
|
||||
"function onAS(willOn){"
|
||||
|
||||
Reference in new issue
Block a user