aboutsummaryrefslogtreecommitdiff
path: root/gui/login_dialog.py
blob: c8c52471c814aa2a33ed29e783b29fd567860bc2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
import os
from PySide6.QtGui import *
from PySide6.QtWidgets import *

class LoginDialog(QDialog):
  hostname = "localhost"
  username = os.getlogin()
  database = "formula1"
  password = ""
  field_database: QLineEdit
  field_hostname: QLineEdit
  field_username: QLineEdit
  field_password: QLineEdit

  def submit(self):
    self.database = self.field_database.text()
    self.hostname = self.field_hostname.text()
    self.username = self.field_username.text()
    self.password = self.field_password.text()
    if len(self.password) == 0: self.password = None
    self.close()
    return

  def __init__(self, parent=None):
    super(LoginDialog, self).__init__(parent)

    self.field_database = QLineEdit(self.database)
    self.field_database.setPlaceholderText("username")
    self.field_hostname = QLineEdit(self.hostname)
    self.field_hostname.setPlaceholderText("hostname")
    self.field_username = QLineEdit(self.username)
    self.field_username.setPlaceholderText("username")
    self.field_password = QLineEdit(self.password)
    self.field_password.setPlaceholderText("password")
    self.field_password.setEchoMode(QLineEdit.EchoMode.Password)
    self.login_button = QPushButton("Login")
    self.login_button.clicked.connect(self.submit)
    layout = QFormLayout()
    layout.addRow(QLabel("Database:"), self.field_database)
    layout.addRow(QLabel("Hostname:"), self.field_hostname)
    layout.addRow(QLabel("Username:"), self.field_username)
    layout.addRow(QLabel("Password:"), self.field_password)
    layout.addRow(self.login_button)

    self.setLayout(layout)