def init_ui(self): self.fullDealInstance = FullDeal() self.settingsDialog = Settings() settings_action = QtGui.QAction(QtGui.QIcon("settings.png"), "&Exit", self) settings_action.triggered.connect(self.settingsDialog.show) self.listWidget = QtGui.QListWidget() self.dealFilter = Filter(self) VBox = QtGui.QVBoxLayout() VBox.setSpacing(5) VBox.setMargin(5) VBox.addWidget(self.dealFilter, 1) VBox.addWidget(self.listWidget, 4) centralWidget = QtGui.QWidget(self) centralWidget.setLayout(VBox) self.setCentralWidget(centralWidget) self.network = Network() self.response = self.network.getData() self.response.finished.connect(self.displayData) self.toolbar = self.addToolBar("ToolBar") self.toolbar.addAction(settings_action) self.dealData = [] self.allDealData = [] self.setGeometry(600, 600, 600, 600) self.setWindowTitle("TravelDeal") self.show()
def __init__ (self, parent = None): super(Register, self).__init__(parent) self.network = Network() nameLayout = QtGui.QHBoxLayout() passwordLayout = QtGui.QHBoxLayout() confirmLayout = QtGui.QHBoxLayout() mainLayout = QtGui.QVBoxLayout() self.nameLabel = QtGui.QLabel('Username') self.nameEdit = QtGui.QLineEdit() nameLayout.addWidget(self.nameLabel, 0) nameLayout.addWidget(self.nameEdit, 1) self.passwordLabel = QtGui.QLabel('Password') self.passwordEdit = QtGui.QLineEdit() self.passwordEdit.setEchoMode(QtGui.QLineEdit.Password) passwordLayout.addWidget(self.passwordLabel, 0) passwordLayout.addWidget(self.passwordEdit, 1) self.confirmLabel = QtGui.QLabel('Confirm ') self.confirmEdit = QtGui.QLineEdit() self.confirmEdit.setEchoMode(QtGui.QLineEdit.Password) confirmLayout.addWidget(self.confirmLabel, 0) confirmLayout.addWidget(self.confirmEdit, 1) self.successLabel = QtGui.QLabel('Registration succesful') self.matchErrorLabel = QtGui.QLabel('Passwords dont match') self.fieldErrorLabel = QtGui.QLabel('Empty fields') self.uknownErrorLabel = QtGui.QLabel('Unknown error') palette = QtGui.QPalette() palette.setColor(QtGui.QPalette.Foreground, QtCore.Qt.red) self.matchErrorLabel.setPalette(palette) self.fieldErrorLabel.setPalette(palette) self.uknownErrorLabel.setPalette(palette) self.successLabel.hide() self.matchErrorLabel.hide() self.fieldErrorLabel.hide() self.uknownErrorLabel.hide() self.registerButton = QtGui.QPushButton('Register') self.registerButton.clicked.connect(self.registerButtonHandler) mainLayout.addLayout(nameLayout, 0) mainLayout.addLayout(passwordLayout, 1) mainLayout.addLayout(confirmLayout, 2) mainLayout.addWidget(self.successLabel, 3) mainLayout.addWidget(self.matchErrorLabel, 4) mainLayout.addWidget(self.fieldErrorLabel, 5) mainLayout.addWidget(self.uknownErrorLabel, 6) mainLayout.addWidget(self.registerButton, 7) self.setLayout(mainLayout)
def __init__(self, parent = None): super(LogIn, self).__init__(parent) self.parent = parent self.network = Network() self.keyAccess = AccessKey() mainLayout = QtGui.QVBoxLayout() nameLayout = QtGui.QHBoxLayout() passwordLayout = QtGui.QHBoxLayout() self.nameLabel = QtGui.QLabel('Username') self.nameEdit = QtGui.QLineEdit() nameLayout.addWidget(self.nameLabel, 0) nameLayout.addWidget(self.nameEdit, 1) self.passwordLabel = QtGui.QLabel('Password') self.passwordEdit = QtGui.QLineEdit() self.passwordEdit.setEchoMode(QtGui.QLineEdit.Password) passwordLayout.addWidget(self.passwordLabel, 0) passwordLayout.addWidget(self.passwordEdit, 1) palette = QtGui.QPalette() palette.setColor(QtGui.QPalette.Foreground, QtCore.Qt.red) self.generalError = QtGui.QLabel('Login error') self.emptyError = QtGui.QLabel('Empty field') self.generalError.setPalette(palette) self.generalError.hide() self.emptyError.setPalette(palette) self.emptyError.hide() self.loginButton = QtGui.QPushButton('Log in') self.loginButton.clicked.connect(self.loginButtonHandler) mainLayout.addLayout(nameLayout, 0) mainLayout.addLayout(passwordLayout, 1) mainLayout.addWidget(self.generalError, 2) mainLayout.addWidget(self.emptyError, 3) mainLayout.addWidget(self.loginButton, 4) self.setLayout(mainLayout)
class AppMain(QtGui.QMainWindow): def __init__(self, parent=None): super(AppMain, self).__init__(parent) self.init_ui() def init_ui(self): self.fullDealInstance = FullDeal() self.settingsDialog = Settings() settings_action = QtGui.QAction(QtGui.QIcon("settings.png"), "&Exit", self) settings_action.triggered.connect(self.settingsDialog.show) self.listWidget = QtGui.QListWidget() self.dealFilter = Filter(self) VBox = QtGui.QVBoxLayout() VBox.setSpacing(5) VBox.setMargin(5) VBox.addWidget(self.dealFilter, 1) VBox.addWidget(self.listWidget, 4) centralWidget = QtGui.QWidget(self) centralWidget.setLayout(VBox) self.setCentralWidget(centralWidget) self.network = Network() self.response = self.network.getData() self.response.finished.connect(self.displayData) self.toolbar = self.addToolBar("ToolBar") self.toolbar.addAction(settings_action) self.dealData = [] self.allDealData = [] self.setGeometry(600, 600, 600, 600) self.setWindowTitle("TravelDeal") self.show() def displayData(self): self.getClearData() self.populateListWidget() def getClearData(self): if not self.dealData: replyByteArray = self.response.readAll() QtCore.QObject.deleteLater(self.response) replyString = str(replyByteArray.data()) removedFirst = replyString[1:] regex = re.compile(r"(?:\')|(\\n)") removed = re.sub(regex, "", removedFirst) hercules = re.compile(r'(\\\\")') clear = re.sub(hercules, "'", removed) replyDict = json.loads(clear) self.dealData = replyDict["deals"] self.allDealData = self.dealData else: return def populateListWidget(self): replyArr = self.dealData for i, entry in enumerate(replyArr): listItem = ListItem(self.fullDealInstance) listItem.set_header(entry["title"]) listItem.set_description(entry["description"]) listWidgetItem = QtGui.QListWidgetItem(self.listWidget) listWidgetItem.setSizeHint(listItem.sizeHint()) self.listWidget.addItem(listWidgetItem) self.listWidget.setItemWidget(listWidgetItem, listItem) def setNewData(self, newData): self.dealData = newData self.listWidget.clear() self.populateListWidget() def resetData(self): self.dealData = self.allDealData self.listWidget.clear() self.populateListWidget()
class LogIn(QtGui.QDialog): def __init__(self, parent = None): super(LogIn, self).__init__(parent) self.parent = parent self.network = Network() self.keyAccess = AccessKey() mainLayout = QtGui.QVBoxLayout() nameLayout = QtGui.QHBoxLayout() passwordLayout = QtGui.QHBoxLayout() self.nameLabel = QtGui.QLabel('Username') self.nameEdit = QtGui.QLineEdit() nameLayout.addWidget(self.nameLabel, 0) nameLayout.addWidget(self.nameEdit, 1) self.passwordLabel = QtGui.QLabel('Password') self.passwordEdit = QtGui.QLineEdit() self.passwordEdit.setEchoMode(QtGui.QLineEdit.Password) passwordLayout.addWidget(self.passwordLabel, 0) passwordLayout.addWidget(self.passwordEdit, 1) palette = QtGui.QPalette() palette.setColor(QtGui.QPalette.Foreground, QtCore.Qt.red) self.generalError = QtGui.QLabel('Login error') self.emptyError = QtGui.QLabel('Empty field') self.generalError.setPalette(palette) self.generalError.hide() self.emptyError.setPalette(palette) self.emptyError.hide() self.loginButton = QtGui.QPushButton('Log in') self.loginButton.clicked.connect(self.loginButtonHandler) mainLayout.addLayout(nameLayout, 0) mainLayout.addLayout(passwordLayout, 1) mainLayout.addWidget(self.generalError, 2) mainLayout.addWidget(self.emptyError, 3) mainLayout.addWidget(self.loginButton, 4) self.setLayout(mainLayout) def loginButtonHandler(self): if self.nameEdit.text() == '' or self.passwordEdit.text() == '': self.emptyError.show() else: self.emptyError.hide() self.response = self.network.login({'username': self.nameEdit.text(), 'password': self.passwordEdit.text()}) self.response.finished.connect(self.requestFinished) def requestFinished(self): replyByteArray = self.response.readAll() QtCore.QObject.deleteLater(self.response) replyString = str(replyByteArray.data()) exp = re.compile(r'\\n|b\'|\'') clear = re.sub(exp, '', replyString) if clear == 'User not found': self.generalError.show() return replyDict = json.loads(clear) key = replyDict['key'] self.keyAccess.saveKey(key) print(self.keyAccess.getKey()) self.parent.refresh() self.hide()
class Register(QtGui.QDialog): def __init__ (self, parent = None): super(Register, self).__init__(parent) self.network = Network() nameLayout = QtGui.QHBoxLayout() passwordLayout = QtGui.QHBoxLayout() confirmLayout = QtGui.QHBoxLayout() mainLayout = QtGui.QVBoxLayout() self.nameLabel = QtGui.QLabel('Username') self.nameEdit = QtGui.QLineEdit() nameLayout.addWidget(self.nameLabel, 0) nameLayout.addWidget(self.nameEdit, 1) self.passwordLabel = QtGui.QLabel('Password') self.passwordEdit = QtGui.QLineEdit() self.passwordEdit.setEchoMode(QtGui.QLineEdit.Password) passwordLayout.addWidget(self.passwordLabel, 0) passwordLayout.addWidget(self.passwordEdit, 1) self.confirmLabel = QtGui.QLabel('Confirm ') self.confirmEdit = QtGui.QLineEdit() self.confirmEdit.setEchoMode(QtGui.QLineEdit.Password) confirmLayout.addWidget(self.confirmLabel, 0) confirmLayout.addWidget(self.confirmEdit, 1) self.successLabel = QtGui.QLabel('Registration succesful') self.matchErrorLabel = QtGui.QLabel('Passwords dont match') self.fieldErrorLabel = QtGui.QLabel('Empty fields') self.uknownErrorLabel = QtGui.QLabel('Unknown error') palette = QtGui.QPalette() palette.setColor(QtGui.QPalette.Foreground, QtCore.Qt.red) self.matchErrorLabel.setPalette(palette) self.fieldErrorLabel.setPalette(palette) self.uknownErrorLabel.setPalette(palette) self.successLabel.hide() self.matchErrorLabel.hide() self.fieldErrorLabel.hide() self.uknownErrorLabel.hide() self.registerButton = QtGui.QPushButton('Register') self.registerButton.clicked.connect(self.registerButtonHandler) mainLayout.addLayout(nameLayout, 0) mainLayout.addLayout(passwordLayout, 1) mainLayout.addLayout(confirmLayout, 2) mainLayout.addWidget(self.successLabel, 3) mainLayout.addWidget(self.matchErrorLabel, 4) mainLayout.addWidget(self.fieldErrorLabel, 5) mainLayout.addWidget(self.uknownErrorLabel, 6) mainLayout.addWidget(self.registerButton, 7) self.setLayout(mainLayout) def registerButtonHandler(self): if self.nameEdit.text() == '' or self.passwordEdit.text() == '' or self.confirmEdit.text() == '': self.fieldErrorLabel.show() return else: self.fieldErrorLabel.hide() if self.passwordEdit.text() != self.confirmEdit.text(): self.matchErrorLabel.show() return else: self.matchErrorLabel.hide() self.response = self.network.register({'username':self.nameEdit.text(), 'password': self.passwordEdit.text()}) self.response.finished.connect(self.requestFinished) def requestFinished(self): replyByteArray = self.response.readAll() QtCore.QObject.deleteLater(self.response) replyString = str(replyByteArray.data()) print (replyString) if replyString == "b'Success'" or replyString == 'Success': self.successLabel.show() self.registerButton.setText('Close') self.registerButton.clicked.connect(self.hide) else: self.uknownErrorLabel.show()