mirror of
https://github.com/theupriser/steamify-cachyos.git
synced 2026-10-03 17:41:58 +02:00
fix(ui): Applying got stuck: the ticked items came in as a JS value
Convert QML's array; if starting fails anyway, show the done screen with the reason instead of staying on the progress screen.
This commit is contained in:
1 parent
96558a9ca8
commit
3a0eefab11
2 files changed
+10
-2
No files matched your search
+1
-1
@@ -225,7 +225,7 @@ ApplicationWindow {
|
|||||||
else if (ev.event === "finished") {
|
else if (ev.event === "finished") {
|
||||||
if (!(biosRun && plan.length && plan[0].action === "check" && !ev.failed.length && !ev.error && !ev.nothing)) sessionPassword = "";
|
if (!(biosRun && plan.length && plan[0].action === "check" && !ev.failed.length && !ev.error && !ev.nothing)) sessionPassword = "";
|
||||||
failed = ev.failed || []; restartNeeded = !!ev.restart;
|
failed = ev.failed || []; restartNeeded = !!ev.restart;
|
||||||
runError = ev.error === "wrong-password" ? "The password didn't work." : (ev.error ? "sudo isn't available." : "");
|
runError = ev.error === "wrong-password" ? "The password didn't work." : (ev.error === "start" ? "Steamify couldn't start the changes." : (ev.error ? "sudo isn't available." : ""));
|
||||||
screen = "done";
|
screen = "done";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+9
-1
@@ -247,12 +247,20 @@ class Backend(QObject):
|
|||||||
|
|
||||||
@Slot("QVariant", str, bool, str)
|
@Slot("QVariant", str, bool, str)
|
||||||
def apply(self, ids, boot, reapply, password):
|
def apply(self, ids, boot, reapply, password):
|
||||||
|
try:
|
||||||
|
if hasattr(ids, "toVariant"): # a JS array from QML
|
||||||
|
ids = ids.toVariant()
|
||||||
args = ["apply"]
|
args = ["apply"]
|
||||||
if reapply:
|
if reapply:
|
||||||
args.append("--reapply")
|
args.append("--reapply")
|
||||||
if boot:
|
if boot:
|
||||||
args += ["--boot", boot]
|
args += ["--boot", boot]
|
||||||
self._start(args + list(ids), password)
|
self._start(args + [str(i) for i in (ids or [])], password)
|
||||||
|
except Exception as e:
|
||||||
|
# Never leave the app on the progress screen.
|
||||||
|
print("steamify-ui: couldn't start:", e, file=sys.stderr)
|
||||||
|
self._drop_askpass()
|
||||||
|
self.event.emit({"event": "finished", "failed": [], "restart": False, "error": "start"})
|
||||||
|
|
||||||
@Slot(str)
|
@Slot(str)
|
||||||
def biosPrepare(self, password):
|
def biosPrepare(self, password):
|
||||||
|
|||||||
Reference in new issue
Block a user