def __init__(self): QMainWindow.__init__(self) self.ui = Ui_MainWindow() self.ui.setupUi(self) self.loadTranslations() self.settings = QSettings("LVK Inc", "DataCenters") self.resourcesGraphEditor = ResourcesGraphEditor() self.demandGraphEditor = DemandGraphEditor() self.randomDialog = RandomDemandDialog() self.Vis = Vis() self.graphvis = GraphVis(self) self.demands = {} self.project = Project() # TODO: Captain, we have a problem! # For some reason, in Python 2.7 QSettings converts dicts to QVariant # So the ini file is undecypherable # This works fine in Python 3.2 by the way #if self.settings.value("vis"): #self.Vis.canvas.settings = self.settings.value("vis") #self.graphvis.settings = self.settings.value("graphVis") self.settingsDialog = SettingsDialog(self.Vis.canvas.settings, self.graphvis.settings) self.settingsDialog.ui.backup.setChecked( self.settings.value("backup").toBool()) self.settingsDialog.ui.autosave.setChecked( self.settings.value("autosave").toBool()) self.settingsDialog.ui.interval.setValue( self.settings.value("interval").toInt()[0]) i = 0 for s in self.languages: self.settingsDialog.ui.languages.addItem(s) if s == str(self.settings.value("language").toString()): self.settingsDialog.ui.languages.setCurrentIndex(i) i += 1 self.resourcesGraphEditor.setData(self.project.resources) for i in range(self.MaxRecentFiles): a = QAction(self) a.setVisible(False) a.setEnabled(False) if i <= 9: a.setShortcut(QKeySequence(self.tr("Alt+") + str(i + 1))) QObject.connect(a, SIGNAL("triggered()"), self.OpenRecentFile) self.ui.menuFile.insertAction(self.ui.actionExit, a) self.recentFileActions.append(a) self.UpdateRecentFileActions() self.basename = self.windowTitle() self.demandGraphEditor.demand_changed.connect(self.demandChanged) self.backupTimer = QTimer() self.backupTimer.setInterval(60000) self.backupTimer.setSingleShot(False) QObject.connect(self.backupTimer, SIGNAL("timeout()"), self.Backup) self.autosaveTimer = QTimer() self.autosaveTimer.setInterval(60000) self.autosaveTimer.setSingleShot(False) QObject.connect(self.autosaveTimer, SIGNAL("timeout()"), self.Autosave) self.Translate( str(self.settings.value("language", "English").toString())) self.projFilter = self.tr("Data centers projects (*.dcxml)") self.setWindowTitle(self.tr("Untitled") + " - " + self.basename) self.loadPlugins()