Skip to content
Snippets Groups Projects
Settings.py 2.01 KiB
Newer Older
Djalim Simaila's avatar
Djalim Simaila committed
import os
from PyQt5 import QtWidgets
from PyQt5.QtWidgets import QWidget
from utils.files.input import ScannedObject
from utils.gui.pyqt.settings.UI_Settings import Ui_Settings
from utils.settings.SettingManager import SettingManager

class Settings(QtWidgets.QMainWindow,Ui_Settings):

    def __init__(self, parent=None):
        super().__init__(parent)
        # Retrieve the UI
        self.setupUi(self)
        # Setup buttons listeners
        settings = SettingManager.get_instance()
        self.discretisation_method.addItems(settings.get_setting('discretisation_methods'))
        self.discretisation_method.setCurrentText(settings.get_setting('discretisation_method'))
        self.raw_data_suffix.setText(settings.get_setting('raw_data_suffix'))
        self.discrete_data_suffix.setText(settings.get_setting('discrete_data_suffix'))
        self.extention.setText(settings.get_setting('output_file_extension'))
        self.separator.setText(settings.get_setting('output_file_separator'))
        self.prettify.setChecked(settings.get_setting('pretiffy_output_file'))

        #Connect to onchanged actions
        self.discretisation_method.currentTextChanged.connect(self.accept)
        self.raw_data_suffix.textChanged.connect(self.accept)
        self.discrete_data_suffix.textChanged.connect(self.accept)
        self.extention.textChanged.connect(self.accept)
        self.separator.textChanged.connect(self.accept)
        self.prettify.stateChanged.connect(self.accept)


    def accept(self):
        settings = SettingManager.get_instance()
        settings.set_setting('discretisation_method', self.discretisation_method.currentText())
        settings.set_setting('raw_data_suffix', self.raw_data_suffix.text())
        settings.set_setting('discrete_data_suffix', self.discrete_data_suffix.text())
        settings.set_setting('output_file_extension', self.extention.text())
        settings.set_setting('output_file_separator', self.separator.text())
        settings.set_setting('pretiffy_output_file', self.prettify.isChecked())