Esempio n. 1
0
class MyApplication(QApplication):
    def __init__(self, arguments):
        super().__init__(arguments)

        self.mainWindow = None

        self.setOrganizationName('QtHEP')
        self.setApplicationName('QtHEP')
        QStandardPaths.setTestModeEnabled(__DEVELOPEMENT__)

        preferencesPath = QStandardPaths.writableLocation(
            QStandardPaths.AppDataLocation)
        if (not os.path.exists(preferencesPath)):
            os.makedirs(preferencesPath)
        self.preferencesFilename = os.path.join(
            preferencesPath,
            '{}.preferences.xml'.format(self.applicationName()))

        self.preferences = Preferences()
        if (os.path.exists(self.preferencesFilename)):
            self.preferences.fromXML(self.preferencesFilename)
            self.preferences.logging.initializeLog()
        else:
            self.preferences.toXML(self.preferencesFilename)

        DiscFilenameTemplatesSingleton().set(
            self.preferences.filenameTemplates)
        DiscMixdownsSingleton().set(self.preferences.mixdowns.getMixdowns())
        DiscPresetsSingleton().set(self.preferences.presets.getNames())

        self.disc = Disc(self)

        TitleVisibleSingleton().set(
            self.preferences.autoTitle.minimumTitleSeconds,
            self.disc.hideShortTitles)

        self.defaultSessionFilename = "{}.state.xml".format(
            self.applicationName())

        if __DEVELOPEMENT__:
            # 	self.settingsFilename = os.path.join(os.getcwd(), "{}.settings.xml".format(APP_NAME))
            # 	self.fullDefaultSessionFilename = os.path.join(os.getcwd(), self.defaultSessionFilename)
            s = os.path.join(os.getcwd(), 'TestFiles')
            self.temporarySessionFilename = os.path.join(
                s, "temp.{}".format(self.defaultSessionFilename))
        # 	self.logFilename = os.path.join(os.getcwd(), "{}.log".format(APP_NAME))
        else:
            if (os.path.exists(self.standardPaths.GetUserDataDir()) == False):
                os.makedirs(self.standardPaths.GetUserDataDir())
                SingletonLog().writeline('{} created'.format(
                    self.standardPaths.GetUserDataDir()))

        # 	self.settingsFilename = os.path.join(self.standardPaths.GetUserDataDir(), "{}.settings.xml".format(APP_NAME))
        # 	self.fullDefaultSessionFilename = os.path.join(self.standardPaths.GetUserDataDir(), self.defaultSessionFilename)
            self.temporarySessionFilename = os.path.join(
                self.standardPaths.GetUserDataDir(),
                "temp.{}".format(self.defaultSessionFilename))
        # 	self.logFilename = os.path.join(self.standardPaths.GetDocumentsDir(), "{}.log".format(APP_NAME))

    def savePreferences(self):
        """ Save the preferences to a file.
        """
        self.preferences.toXML(self.preferencesFilename)
        self.mainWindow.statusBar.showMessage(
            'Preferences saved to "{}".'.format(self.preferencesFilename),
            15000)