summaryrefslogtreecommitdiff
path: root/src/frontend/gui/sisyphus-gui.py
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2023-07-21 04:00:44 +0100
committerV3n3RiX <venerix@koprulu.sector>2023-07-21 04:00:44 +0100
commit74d84cc070134494f144318b534563098a5994c4 (patch)
tree5e87b85f8fc13349a4cddf4c0abb6f0a88a42fd4 /src/frontend/gui/sisyphus-gui.py
parent78eca7889aebbc3e7f141f23a41eb9b3b79f3a69 (diff)
backend : rework the update logic a little
gui-frontend : hide the progress box initially, only show it when needed, make it significantly larger, disable UI elements instead of hiding them
Diffstat (limited to 'src/frontend/gui/sisyphus-gui.py')
-rw-r--r--src/frontend/gui/sisyphus-gui.py99
1 files changed, 71 insertions, 28 deletions
diff --git a/src/frontend/gui/sisyphus-gui.py b/src/frontend/gui/sisyphus-gui.py
index 07ff367..d5c7aff 100644
--- a/src/frontend/gui/sisyphus-gui.py
+++ b/src/frontend/gui/sisyphus-gui.py
@@ -45,58 +45,59 @@ class Sisyphus(QtWidgets.QMainWindow):
self.settingsButton.clicked.connect(self.showMirrorWindow)
self.licenseButton.clicked.connect(self.showLicenseWindow)
- sys.stdout = MainWorker(workerOutput=self.updateProgressBox) # capture stdout
+ sys.stdout = MainWorker(workerOutput=self.updateProgress) # capture stdout
self.updateWorker = MainWorker()
self.updateThread = QtCore.QThread()
self.updateWorker.moveToThread(self.updateThread)
- self.updateWorker.started.connect(self.showProgressBar)
+ self.updateWorker.started.connect(self.showProgress)
self.updateThread.started.connect(self.updateWorker.startUpdate)
- self.updateThread.finished.connect(self.hideProgressBar)
+ self.updateThread.finished.connect(self.hideProgress)
self.updateWorker.finished.connect(self.updateThread.quit)
self.installButton.clicked.connect(self.packageInstall)
self.installWorker = MainWorker()
self.installThread = QtCore.QThread()
self.installWorker.moveToThread(self.installThread)
- self.installWorker.started.connect(self.showProgressBar)
+ self.installWorker.started.connect(self.showProgress)
self.installThread.started.connect(self.installWorker.startInstall)
- self.installWorker.workerOutput.connect(self.updateProgressBox)
- self.installThread.finished.connect(self.hideProgressBar)
+ self.installWorker.workerOutput.connect(self.updateProgress)
+ self.installThread.finished.connect(self.hideProgress)
self.installWorker.finished.connect(self.installThread.quit)
self.uninstallButton.clicked.connect(self.packageUninstall)
self.uninstallWorker = MainWorker()
self.uninstallThread = QtCore.QThread()
self.uninstallWorker.moveToThread(self.uninstallThread)
- self.uninstallWorker.started.connect(self.showProgressBar)
+ self.uninstallWorker.started.connect(self.showProgress)
self.uninstallThread.started.connect(self.uninstallWorker.startUninstall)
- self.uninstallWorker.workerOutput.connect(self.updateProgressBox)
- self.uninstallThread.finished.connect(self.hideProgressBar)
+ self.uninstallWorker.workerOutput.connect(self.updateProgress)
+ self.uninstallThread.finished.connect(self.hideProgress)
self.uninstallWorker.finished.connect(self.uninstallThread.quit)
self.upgradeButton.clicked.connect(self.systemUpgrade)
self.upgradeWorker = MainWorker()
self.upgradeThread = QtCore.QThread()
self.upgradeWorker.moveToThread(self.upgradeThread)
- self.upgradeWorker.started.connect(self.showProgressBar)
+ self.upgradeWorker.started.connect(self.showProgress)
self.upgradeThread.started.connect(self.upgradeWorker.startUpgrade)
- self.upgradeWorker.workerOutput.connect(self.updateProgressBox)
- self.upgradeThread.finished.connect(self.hideProgressBar)
+ self.upgradeWorker.workerOutput.connect(self.updateProgress)
+ self.upgradeThread.finished.connect(self.hideProgress)
self.upgradeWorker.finished.connect(self.upgradeThread.quit)
self.autoremoveButton.clicked.connect(self.autoRemove)
self.autoremoveWorker = MainWorker()
self.autoremoveThread = QtCore.QThread()
self.autoremoveWorker.moveToThread(self.autoremoveThread)
- self.autoremoveWorker.started.connect(self.showProgressBar)
+ self.autoremoveWorker.started.connect(self.showProgress)
self.autoremoveThread.started.connect(self.autoremoveWorker.startAutoremove)
- self.autoremoveWorker.workerOutput.connect(self.updateProgressBox)
- self.autoremoveThread.finished.connect(self.hideProgressBar)
+ self.autoremoveWorker.workerOutput.connect(self.updateProgress)
+ self.autoremoveThread.finished.connect(self.hideProgress)
self.autoremoveWorker.finished.connect(self.autoremoveThread.quit)
self.updateSystem()
self.progressBar.hide()
+ self.progressBox.hide()
self.exitButton.clicked.connect(self.sisyphusExit)
@@ -273,30 +274,72 @@ class Sisyphus(QtWidgets.QMainWindow):
self.statusBar().showMessage("I am busy with some cleaning, please don't rush me ...")
self.autoremoveThread.start()
+ def enableUiInput(self):
+ self.databaseTable.show()
+ self.installButton.setEnabled(True)
+ self.uninstallButton.setEnabled(True)
+ self.autoremoveButton.setEnabled(True)
+ self.upgradeButton.setEnabled(True)
+ self.exitButton.setEnabled(True)
+ self.licenseButton.setEnabled(True)
+ self.settingsButton.setEnabled(True)
+ self.applicationFilter.setEnabled(True)
+ self.databaseFilter.setEnabled(True)
+ self.inputBox.setEnabled(True)
+ self.label1.setEnabled(True)
+ self.label2.setEnabled(True)
+
+ def disableUiInput(self):
+ self.databaseTable.hide()
+ self.installButton.setEnabled(False)
+ self.uninstallButton.setEnabled(False)
+ self.autoremoveButton.setEnabled(False)
+ self.upgradeButton.setEnabled(False)
+ self.exitButton.setEnabled(False)
+ self.licenseButton.setEnabled(False)
+ self.settingsButton.setEnabled(False)
+ self.applicationFilter.setEnabled(False)
+ self.databaseFilter.setEnabled(False)
+ self.inputBox.setEnabled(False)
+ self.label1.setEnabled(False)
+ self.label2.setEnabled(False)
+
def showProgressBar(self):
- self.installButton.hide()
- self.uninstallButton.hide()
- self.autoremoveButton.hide()
- self.upgradeButton.hide()
- self.exitButton.hide()
self.progressBar.setRange(0, 0)
self.progressBar.show()
- self.inputBox.setFocus()
- self.progressBox.clear()
def hideProgressBar(self):
- self.installButton.show()
- self.uninstallButton.show()
- self.autoremoveButton.show()
- self.upgradeButton.show()
- self.exitButton.show()
self.progressBar.setRange(0, 1)
self.progressBar.setValue(1)
self.progressBar.hide()
+
+ def clearProgressBox(self):
+ self.progressBox.clear()
+
+ def showProgressBox(self):
+ self.progressBox.show()
+
+ def hideProgressBox(self):
+ self.progressBox.hide()
+
+ def setInputFocus(self):
self.inputBox.setFocus()
+
+ def showProgress(self):
+ self.disableUiInput()
+ self.showProgressBar()
+ self.showProgressBox()
+ self.clearProgressBox()
+ self.setInputFocus()
+
+ def hideProgress(self):
+ self.enableUiInput()
+ self.hideProgressBar()
+ self.hideProgressBox()
self.loadDatabase()
+ self.setInputFocus()
- def updateProgressBox(self, workerMessage):
+ def updateProgress(self, workerMessage):
self.progressBox.insertPlainText(workerMessage)
self.progressBox.ensureCursorVisible()