Ejemplo n.º 1
0
    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()
Ejemplo n.º 2
0
    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)
Ejemplo n.º 3
0
	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)
Ejemplo n.º 4
0
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()
Ejemplo n.º 5
0
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()
Ejemplo n.º 6
0
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()