Lagrange [release]

Spartan: Fixed malformed query strings

edf0b9b8bf3793e5334a11c0c2a79cd7faa87be1
diff --git a/src/app.c b/src/app.c
index 275d998d..d33155d7 100644
--- a/src/app.c
+++ b/src/app.c
@@ -3447,7 +3447,7 @@ iBool handleCommand_App(const char *cmd) {
             "open newtab:%d newwindow:%d url:%s?%s",
             argLabel_Command(cmd, "newtab"),
             argLabel_Command(cmd, "newwindow"),
-            cstr_Rangecc(url),
+            cstr_String(urlQueryStripped_String(collectNewRange_String(url))),
             cstr_String(collect_String(urlEncode_String(collectNewCStr_String(value)))));
         return iTrue;
     }
@@ -3472,14 +3472,16 @@ iBool handleCommand_App(const char *cmd) {
                 "${spartan.input}",
                 "${dlg.input.send}",
                 cstr_String(spartanCmd),
-                (iMenuItem[]){
-                    { "${dlg.spartan.upload}", SDLK_u, KMOD_PRIMARY,
-                      format_CStr("valueinput.upload url:%s", cstr_String(url)) } },
+                (iMenuItem[]){ { "${dlg.spartan.upload}",
+                                 SDLK_u,
+                                 KMOD_PRIMARY,
+                                 format_CStr("valueinput.upload url:%s",
+                                             cstr_String(urlQueryStripped_String(url))) } },
                 1);
             setBackupFileName_InputWidget(findChild_Widget(dlg, "input"), "spartanbackup");
             if (!isEmpty_Range(&parts.query)) {
                 postCommand_Widget(dlg,
-                                   "valueinput.set text:%s",
+                                   "valueinput.set select:1 text:%s",
                                    cstrCollect_String(urlDecode_String(collectNewRange_String(
                                        (iRangecc){ parts.query.start + 1, parts.query.end }))));
             }
diff --git a/src/ui/util.c b/src/ui/util.c
index c6acea52..55fd2df5 100644
--- a/src/ui/util.c
+++ b/src/ui/util.c
@@ -2018,6 +2018,9 @@ iBool valueInputHandler_(iWidget *dlg, const char *cmd) {
         if (deviceType_App() != desktop_AppDeviceType) {
             animateToRootVisibleBottom_(dlg, 100);
         }
+        if (argLabel_Command(cmd, "select")) {
+            selectAll_InputWidget(input);
+        }
         return iTrue;
     }
     else if (equal_Command(cmd, "valueinput.upload")) {