diff options
Diffstat (limited to 'preferences_dialog.py')
-rw-r--r-- | preferences_dialog.py | 93 |
1 files changed, 0 insertions, 93 deletions
diff --git a/preferences_dialog.py b/preferences_dialog.py deleted file mode 100644 index df192ba..0000000 --- a/preferences_dialog.py +++ /dev/null @@ -1,93 +0,0 @@ -import sys -from PyQt5.QtWidgets import QApplication, QDialog, QFileDialog, QFormLayout, QHBoxLayout, QLineEdit, QPushButton, QTabWidget, QVBoxLayout, QWidget -from config import Config - -class PreferencesDialog(QDialog): - """ - Implemented to set configuration options in the program - """ - def __init__(self): - super().__init__() - - # class globals - self.config = Config() - - 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() - - 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) - - main_layout.addLayout(buttons_hbox) - self.setLayout(main_layout) - - 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 - - def dbPathDialog(self): - file_dialog = QFileDialog(self) - # TODO create filter to only allow selecting .db files - new_path = file_dialog.getOpenFileName(self, "Open File") - - if new_path[0]: - self.db_path_edit.setText(new_path[0]) - - def apply(self): - """ - Update the configuration in the config file - """ - # Save paths - if "paths" in self.config.config: - try: - with open(self.db_path_edit.text(), 'a'): - self.config.config["paths"]["db_path"] = self.db_path_edit.text() - except: - print("Warning: db_path '{}' does not exist; skipping".format(self.db_path_edit.text())) - - self.config.updateConfig() - - -if __name__ == "__main__": - app = QApplication(sys.argv) - window = PreferencesDialog() - sys.exit(app.exec_()) |