def setupSysTray(self): settings = Settings() settings.beginGroup(settings.keys.main) if settings.value('useSystemTrayIcon', QVariant(1)).toInt()[0]: icon = self.windowIcon() try: trayIcon = self.trayIcon except (AttributeError, ): self.trayIcon = trayIcon = QSystemTrayIcon(self) self.trayMenu = trayMenu = QMenu() trayIcon.setIcon(icon) trayMenu.addAction(icon, applicationName()) trayMenu.addSeparator() for action in self.menuFile.actions(): trayMenu.addAction(action) trayIcon.setContextMenu(trayMenu) self.connect(trayIcon, Signals.trayIconActivated, self.on_trayIcon_activated) trayIcon.show() else: try: trayIcon = self.trayIcon except (AttributeError, ): pass else: trayIcon.hide()
def setupColors(self): settings = Settings() settings.beginGroup(settings.keys.appearance) cls = ValueColorItem keys = ['increaseColor', 'neutralColor', 'decreaseColor'] attrs = [k.replace('Color', '') for k in keys] values = [QColor(settings.value(key, getattr(cls, attr))) for key, attr in zip(keys, attrs)] cls.setColors(*values)
def setCurrentSession(self, filename): settings = Settings() settings.beginGroup(settings.keys.main) files = settings.value('recentSessions').toStringList() files.removeAll(filename) files.prepend(filename) files = files[:self.maxRecentSessions] settings.setValue('recentSessions', files) self.updateRecentSessions()
def saveSettings(self): """ Signal handler for last window closing. Saves selected keys. @return None """ settings = Settings() settings.beginGroup(settings.keys.account) keys = [QVariant([key, currency]) for (key, currency), item in self.sharedKeys.items() if item is not None] settings.setValue(self.settingKey, keys)
def writeSettings(self): """ Saves some main window settings. """ settings = Settings() settings.beginGroup(settings.keys.main) settings.setValue(settings.keys.size, self.size()) settings.setValue(settings.keys.position, self.pos()) settings.setValue(settings.keys.maximized, self.isMaximized()) settings.setValue(settings.keys.winstate, self.saveState()) settings.setValueDump(settings.keys.ctabstate, self.centralTabState()) settings.endGroup()
def __init__(self, parent=None): """ Initializer. @param parent ancestor of this widget """ QFrame.__init__(self, parent) self.setupUi(self) self.settings = Settings() self.settings.beginGroup(self.settings.keys.plots) self.setupOptionsMenu() self.setupPlotsMenu() self.setupPlot()
def on_actionStrategyDesigner_triggered(self): from profit.strategydesigner.main import StrategyDesigner settings = Settings() settings.beginGroup(settings.keys.strategy) if settings.value('type', '').toString()=='file': filename = settings.value('location', '').toString() def x(name): print '## strategy file named %s updated' % (name, ) else: def x(name): print "## strategy file updated but i don't care" filename = None win = StrategyDesigner(filename=filename, parent=self) win.show()
def readSettings(self): """ Reads selected keys from saved settings. @return None """ settings = Settings() settings.beginGroup(settings.keys.account) keys = settings.value(self.settingKey) if keys.isValid(): keys = [[str(b) for b in a.toStringList()] for a in keys.toList()] else: keys = self.defaultKeys setup = self.dataModel.setAccountKeyDisplay for key, currency in keys: setup(key, currency, True, self.summaryView)
def readSettings(self): settings = Settings() settings.beginGroup(settings.keys.main) size = settings.value(settings.keys.size, defaults.windowSize).toSize() pos = settings.value(settings.keys.position, defaults.windowPosition).toPoint() maxed = settings.value(settings.keys.maximized, False).toBool() self.resize(size) self.move(pos) if maxed: self.showMaximized() state = settings.value(settings.keys.winstate, QVariant()) self.restoreState(state.toByteArray()) settings.endGroup()
def readSettings(self): """ Applies stored setting values to instance. @return None """ self.settings = obj = Settings() obj.beginGroup(obj.keys.designer) self.resize(obj.value(obj.keys.size, defaults.windowSize).toSize()) self.move( obj.value(obj.keys.position, defaults.windowPosition).toPoint()) if obj.value(obj.keys.maximized, False).toBool(): self.showMaximized() self.restoreState( obj.value(obj.keys.winstate, QVariant()).toByteArray()) self.splitter.restoreState( obj.value(obj.keys.splitstate, QVariant()).toByteArray())
def updateRecentSessions(self): settings = Settings() settings.beginGroup(settings.keys.main) files = settings.value('recentSessions').toStringList() files = set([abspath(str(s)) for s in files]) files = list(files) count = min(len(files), self.maxRecentSessions) for i in range(count): text = files[i] action = self.recentSessionsActions[i] action.setText(basename(str(text))) action.setData(QVariant(text)) action.setVisible(True) for i in range(count, self.maxRecentSessions): action = self.recentSessionsActions[i] action.setVisible(False) self.recentSeparator.setVisible(count > 0)
def urlActions(self, symbol): settings = Settings() settings.beginGroup(settings.keys.urls) urls = settings.value(settings.keys.tickerurls, defaults.tickerUrls()) settings.endGroup() urls = [str(s) for s in defaults.tickerUrls()] actions = [] for url in urls: #urls.toStringList(): try: name, url = str(url).split(':', 1) url = Template(url).substitute(symbol=symbol) except ( KeyError, ValueError, ): continue action = makeUrlAction(name, url, toolTip='%s %s' % (symbol, name)) actions.append(action) return actions
def setSessionPlot(self, session, collection, tickerId, *args): """ Associate a session with this instance. @param session Session instance @param tickerId id of ticker as integer @param *indexes unused @return None """ self.sessionArgs = (session, collection, tickerId, args) if not self.plotWidgets: settings = Settings() settings.beginGroup('Plots') settings.beginGroup('%s' % tickerId) #count = settings.value('displaycount', QVariant(1)).toInt()[0] count = 1 for i in range(count): self.addPlot() else: for plot in self.plotWidgets: plot.setSessionPlot(session, collection, tickerId, *args)
def checkClose(self): check = True settings = Settings() settings.beginGroup(settings.keys.main) confirm = settings.value('confirmCloseWhenModified', QVariant(1)) confirm = confirm.toInt()[0] if self.session.isModified() and confirm: buttons = QMessageBox.Save|QMessageBox.Discard|QMessageBox.Cancel text = 'This session has been modified' if self.session.isConnected(): text += ' and is connected and receiving messages.' else: text += '.' text += '\n\nDo you want to save your changes?' msg = QMessageBox.question( self, applicationName(), text, buttons, QMessageBox.Save) if msg == QMessageBox.Discard: pass elif msg == QMessageBox.Cancel: check = False elif msg == QMessageBox.Save: self.actionSaveSession.trigger() return check
def saveCount(self): settings = Settings() settings.beginGroup('Plots') settings.beginGroup('%s' % self.sessionArgs[1].__class__.__name__) settings.setValue('displaycount', len(self.plotWidgets))
@pyqtSignature('') def on_tickerUrlUp_clicked(self): self.moveTickerUrl(-1) @pyqtSignature('') def on_tickerUrlDown_clicked(self): self.moveTickerUrl(1) def moveTickerUrl(self, offset): widget = self.tickerUrls item = widget.currentItem() other = widget.item(widget.currentRow() + offset) itemtext, othertext = item.text(), other.text() item.setText(othertext) other.setText(itemtext) selmodel = widget.selectionModel() selmodel.clear() selmodel.setCurrentIndex(widget.indexFromItem(other), selmodel.Select) def accept(self): self.writeSettings(Settings()) QDialog.accept(self) if __name__ == '__main__': app = QApplication([]) win = SettingsDialog() win.readSettings(Settings()) win.exec_()
def accept(self): self.writeSettings(Settings()) QDialog.accept(self)
def on_actionClearRecentMenu_triggered(self, checked=False): for action in self.recentSessionsActions: action.setVisible(False) settings = Settings() settings.beginGroup(settings.keys.main) settings.remove('recentSessions')
def on_actionSettings_triggered(self): from profit.workbench.settingsdialog import SettingsDialog dlg = SettingsDialog() dlg.readSettings(Settings()) if dlg.exec_() == dlg.Accepted: self.emit(Signals.settingsChanged)