From b1b3c4e8bc3fb58d77cd7c6aa5de6cc7e4690fb6 Mon Sep 17 00:00:00 2001 From: Louie Shprung Date: Thu, 21 Dec 2023 10:55:46 -0800 Subject: Created UI file for preferences_dialog --- src/preferences_dialog.py | 51 ++++-------------- src/preferences_dialog.ui | 128 ++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 137 insertions(+), 42 deletions(-) create mode 100644 src/preferences_dialog.ui diff --git a/src/preferences_dialog.py b/src/preferences_dialog.py index 7f39fb7..e6d4187 100644 --- a/src/preferences_dialog.py +++ b/src/preferences_dialog.py @@ -1,5 +1,7 @@ +import os import sys -from PyQt5.QtWidgets import QApplication, QDialog, QFileDialog, QFormLayout, QHBoxLayout, QLineEdit, QPushButton, QTabWidget, QVBoxLayout, QWidget +from PyQt5 import uic +from PyQt5.QtWidgets import QApplication, QDialog, QFileDialog from src.config import Config class PreferencesDialog(QDialog): @@ -8,6 +10,7 @@ class PreferencesDialog(QDialog): """ def __init__(self): super().__init__() + uic.loadUi(os.path.join("src", "preferences_dialog.ui"), self) # class globals self.config = Config() @@ -15,58 +18,22 @@ class PreferencesDialog(QDialog): self.initializeUI() def initializeUI(self): - self.resize(500, 320) - self.setWindowTitle("Preferences") self.displayWidgets() self.exec() def displayWidgets(self): # TODO make this a scrollable window # FIXME could use some work on sizing - main_layout = QVBoxLayout() - tab_bar = QTabWidget(self) - paths_tab = self.pathsTabLayout() + self.pathsTabLayout() - tab_bar.addTab(paths_tab, "Paths") - main_layout.addWidget(tab_bar) - main_layout.addStretch() - - buttons_hbox = QHBoxLayout() - buttons_hbox.addStretch() - - close_button = QPushButton("Close", self) - close_button.clicked.connect(self.close) - buttons_hbox.addWidget(close_button) - - apply_button = QPushButton("Apply", self) - apply_button.clicked.connect(self.apply) - buttons_hbox.addWidget(apply_button) - - reload_button = QPushButton("Reload", self) - reload_button.clicked.connect(self.reload) - buttons_hbox.addWidget(reload_button) - - main_layout.addLayout(buttons_hbox) - self.setLayout(main_layout) + self.close_button.clicked.connect(self.close) + self.apply_button.clicked.connect(self.apply) + self.reload_button.clicked.connect(self.reload) def pathsTabLayout(self): - output = QWidget() - output_layout = QFormLayout() - - # Dialog for setting the database file path - db_path_hbox = QHBoxLayout() - self.db_path_edit = QLineEdit() if "paths" in self.config.config: self.db_path_edit.setText(self.config.config["paths"]["db_path"]) - db_path_hbox.addWidget(self.db_path_edit) - db_path_button = QPushButton("...") - db_path_button.setMaximumWidth(25) - db_path_button.clicked.connect(self.dbPathDialog) - db_path_hbox.addWidget(db_path_button) - output_layout.addRow("Database File:", db_path_hbox) - - output.setLayout(output_layout) - return output + self.db_path_button.clicked.connect(self.dbPathDialog) def dbPathDialog(self): file_dialog = QFileDialog(self) diff --git a/src/preferences_dialog.ui b/src/preferences_dialog.ui new file mode 100644 index 0000000..244eb26 --- /dev/null +++ b/src/preferences_dialog.ui @@ -0,0 +1,128 @@ + + + Dialog + + + + 0 + 0 + 500 + 320 + + + + Preferences + + + + + + + + 0 + + + + Paths + + + + + + + + + + + Database File: + + + + + + + + 0 + + + 0 + + + 0 + + + 0 + + + + + + + + + 25 + 16777215 + + + + ... + + + + + + + + + + + + + + + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + Close + + + + + + + Apply + + + + + + + Reload + + + + + + + + + + + + -- cgit