summaryrefslogtreecommitdiff
path: root/preferences_dialog.py
diff options
context:
space:
mode:
Diffstat (limited to 'preferences_dialog.py')
-rw-r--r--preferences_dialog.py93
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_())