Igen
This commit is contained in:
@@ -20,6 +20,7 @@ SETTINGS_KEY_MAIL_PATH = "mail/custom_path"
|
||||
SETTINGS_KEY_AUTO_LOGIN = "online/auto_login"
|
||||
SETTINGS_KEY_USERNAME = "online/username"
|
||||
SETTINGS_KEY_PASSWORD = "online/password"
|
||||
SETTINGS_KEY_SERVER_URL = "online/server_url"
|
||||
SETTINGS_KEY_LANGUAGE = "appearance/language"
|
||||
SETTINGS_KEY_BETWEEN_SEC = "playback/between_seconds"
|
||||
SETTINGS_KEY_WORKSHOP_MIN = "playback/workshop_minutes"
|
||||
@@ -37,6 +38,7 @@ def load_settings() -> dict:
|
||||
"auto_login": s.value(SETTINGS_KEY_AUTO_LOGIN, False, type=bool),
|
||||
"username": s.value(SETTINGS_KEY_USERNAME, ""),
|
||||
"password": s.value(SETTINGS_KEY_PASSWORD, ""),
|
||||
"server_url": s.value(SETTINGS_KEY_SERVER_URL, "http://localhost:8000"),
|
||||
"language": s.value(SETTINGS_KEY_LANGUAGE, "da"),
|
||||
"between_seconds": s.value(SETTINGS_KEY_BETWEEN_SEC, 60, type=int),
|
||||
"workshop_minutes": s.value(SETTINGS_KEY_WORKSHOP_MIN, 10, type=int),
|
||||
@@ -54,6 +56,7 @@ def save_settings(values: dict):
|
||||
s.setValue(SETTINGS_KEY_AUTO_LOGIN, values.get("auto_login", False))
|
||||
s.setValue(SETTINGS_KEY_USERNAME, values.get("username", ""))
|
||||
s.setValue(SETTINGS_KEY_PASSWORD, values.get("password", ""))
|
||||
s.setValue(SETTINGS_KEY_SERVER_URL, values.get("server_url", "http://localhost:8000"))
|
||||
s.setValue(SETTINGS_KEY_LANGUAGE, values.get("language", "da"))
|
||||
s.setValue(SETTINGS_KEY_BETWEEN_SEC, values.get("between_seconds", 60))
|
||||
s.setValue(SETTINGS_KEY_WORKSHOP_MIN,values.get("workshop_minutes", 10))
|
||||
@@ -230,15 +233,31 @@ class SettingsDialog(QDialog):
|
||||
layout = QVBoxLayout(tab)
|
||||
layout.setSpacing(12)
|
||||
|
||||
grp = QGroupBox("Automatisk login ved opstart")
|
||||
# Server URL
|
||||
grp_server = QGroupBox("Server")
|
||||
grp_server_layout = QFormLayout(grp_server)
|
||||
self._server_url = QLineEdit()
|
||||
self._server_url.setPlaceholderText("http://localhost:8000")
|
||||
grp_server_layout.addRow("API-adresse:", self._server_url)
|
||||
note_server = QLabel("Adressen på LineDance API-serveren.")
|
||||
note_server.setObjectName("result_count")
|
||||
grp_server_layout.addRow(note_server)
|
||||
layout.addWidget(grp_server)
|
||||
|
||||
# Login
|
||||
grp = QGroupBox("Konto")
|
||||
grp_layout = QFormLayout(grp)
|
||||
|
||||
btn_register = QPushButton("✚ Opret ny konto...")
|
||||
btn_register.clicked.connect(self._open_register)
|
||||
grp_layout.addRow(btn_register)
|
||||
|
||||
self._chk_auto_login = QCheckBox("Log automatisk ind når programmet starter")
|
||||
self._chk_auto_login.stateChanged.connect(self._on_auto_login_changed)
|
||||
grp_layout.addRow(self._chk_auto_login)
|
||||
|
||||
self._user_input = QLineEdit()
|
||||
self._user_input.setPlaceholderText("dit-brugernavn")
|
||||
self._user_input.setPlaceholderText("brugernavn eller e-mail")
|
||||
grp_layout.addRow("Brugernavn:", self._user_input)
|
||||
|
||||
self._pass_input = QLineEdit()
|
||||
@@ -257,6 +276,12 @@ class SettingsDialog(QDialog):
|
||||
layout.addStretch()
|
||||
return tab
|
||||
|
||||
def _open_register(self):
|
||||
from ui.register_dialog import RegisterDialog
|
||||
server_url = self._server_url.text().strip() or "http://localhost:8000"
|
||||
dlg = RegisterDialog(server_url=server_url, parent=self)
|
||||
dlg.exec()
|
||||
|
||||
def _build_language_tab(self) -> QWidget:
|
||||
tab = QWidget()
|
||||
layout = QVBoxLayout(tab)
|
||||
@@ -311,6 +336,7 @@ class SettingsDialog(QDialog):
|
||||
self._chk_auto_login.setChecked(auto)
|
||||
self._user_input.setText(v.get("username", ""))
|
||||
self._pass_input.setText(v.get("password", ""))
|
||||
self._server_url.setText(v.get("server_url", "http://localhost:8000"))
|
||||
self._user_input.setEnabled(auto)
|
||||
self._pass_input.setEnabled(auto)
|
||||
|
||||
@@ -328,6 +354,7 @@ class SettingsDialog(QDialog):
|
||||
"auto_login": self._chk_auto_login.isChecked(),
|
||||
"username": self._user_input.text().strip(),
|
||||
"password": self._pass_input.text(),
|
||||
"server_url": self._server_url.text().strip() or "http://localhost:8000",
|
||||
"language": self._lang_combo.currentData(),
|
||||
}
|
||||
save_settings(values)
|
||||
|
||||
Reference in New Issue
Block a user