From 9a1341e32e82dd13e7b584e484b169817b4da2c6 Mon Sep 17 00:00:00 2001 From: bionel Date: Sat, 24 Mar 2018 23:06:03 +0200 Subject: add config gui --- src/frontend/gui/sisyphus-config.py | 49 +++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100755 src/frontend/gui/sisyphus-config.py (limited to 'src/frontend/gui/sisyphus-config.py') diff --git a/src/frontend/gui/sisyphus-config.py b/src/frontend/gui/sisyphus-config.py new file mode 100755 index 0000000..35afccc --- /dev/null +++ b/src/frontend/gui/sisyphus-config.py @@ -0,0 +1,49 @@ +#!/usr/bin/python3 +import sys +from PyQt5 import QtCore, QtGui, QtWidgets, uic +from libsisyphus import getMirrors, setActiveMirror + +class SisyphusConfig(QtWidgets.QMainWindow): + def __init__(self): + super(SisyphusConfig, self).__init__() + uic.loadUi('ui/sisyphus-config.ui', self) + self.centerOnScreen() + self.MIRRORLIST = getMirrors() + self.updateMirrorList() + self.show() + self.closeButton.clicked.connect(self.SisyphusConfigExit) + self.applyButton.clicked.connect(self.SisyphusConfigApply) + self.mirrorCombo.activated.connect(self.setMirrorList) + + def centerOnScreen(self): + resolution = QtWidgets.QDesktopWidget().screenGeometry() + self.move((resolution.width() / 2) - (self.frameSize().width() / 2), + (resolution.height() / 2) - (self.frameSize().height() / 2)) + + def updateMirrorList(self): + model = QtGui.QStandardItemModel() + for row in self.MIRRORLIST: + indx = self.MIRRORLIST.index(row) + item = QtGui.QStandardItem() + item.setText(row['Url']) + model.setItem(indx, item) + if row['isActive'] : + self.ACTIVEMIRRORINDEX = indx + self.mirrorCombo.setModel(model) + self.mirrorCombo.setCurrentIndex(self.ACTIVEMIRRORINDEX) + + def setMirrorList(self): + self.MIRRORLIST[self.ACTIVEMIRRORINDEX]['isActive'] = False + self.ACTIVEMIRRORINDEX = self.mirrorCombo.currentIndex() + self.MIRRORLIST[self.ACTIVEMIRRORINDEX]['isActive'] = True + + def SisyphusConfigApply(self): + setActiveMirror(self.MIRRORLIST) + + def SisyphusConfigExit(self): + self.close() + +if __name__ == '__main__': + app = QtWidgets.QApplication(sys.argv) + window = SisyphusConfig() + sys.exit(app.exec_()) -- cgit v1.2.3