From acdb0b9300098b6b2ae7dd67b3694d58b83800a9 Mon Sep 17 00:00:00 2001 From: Romain Bignon Date: Sun, 18 Apr 2010 09:12:30 +0200 Subject: [PATCH] store interface configuration --- weboob/frontends/qvideoob/application.py | 9 ++++++++- weboob/frontends/qvideoob/main_window.py | 16 +++++++++++++--- 2 files changed, 21 insertions(+), 4 deletions(-) diff --git a/weboob/frontends/qvideoob/application.py b/weboob/frontends/qvideoob/application.py index 8d1bc2a4..6bdc2e7a 100644 --- a/weboob/frontends/qvideoob/application.py +++ b/weboob/frontends/qvideoob/application.py @@ -24,9 +24,16 @@ from weboob.tools.application import QtApplication from .main_window import MainWindow class QVideoob(QtApplication): + APPNAME = 'qvideoob' + CONFIG = {'settings': {'nsfw': True, + 'sortby': 0, + 'backend': '' + } + } def main(self, argv): self.weboob.load_backends(ICapVideoProvider) + self.load_config() - self.main_window = MainWindow(self.weboob) + self.main_window = MainWindow(self.config, self.weboob) self.main_window.show() return self.weboob.loop() diff --git a/weboob/frontends/qvideoob/main_window.py b/weboob/frontends/qvideoob/main_window.py index 82e30113..529ff79b 100644 --- a/weboob/frontends/qvideoob/main_window.py +++ b/weboob/frontends/qvideoob/main_window.py @@ -28,23 +28,29 @@ from .video import Video from .minivideo import MiniVideo class MainWindow(QtMainWindow): - def __init__(self, weboob, parent=None): + def __init__(self, config, weboob, parent=None): QtMainWindow.__init__(self, parent) self.ui = Ui_MainWindow() self.ui.setupUi(self) + self.config = config self.weboob = weboob self.minivideos = [] self.ui.backendEdit.addItem('All backends', '') - for backend in self.weboob.iter_backends(): + for i, backend in enumerate(self.weboob.iter_backends()): self.ui.backendEdit.addItem(backend.name, backend.name) + if backend.name == self.config.get('settings', 'backend'): + self.ui.backendEdit.setCurrentIndex(i+1) + self.ui.sortbyEdit.setCurrentIndex(self.config.get('settings', 'sortby')) + self.ui.nsfwCheckBox.setChecked(bool(self.config.get('settings', 'nsfw'))) self.connect(self.ui.searchEdit, SIGNAL("returnPressed()"), self.search) self.connect(self.ui.urlEdit, SIGNAL("returnPressed()"), self.openURL) self.connect(self.ui.nsfwCheckBox, SIGNAL("stateChanged(int)"), self.nsfwChanged) def nsfwChanged(self, state): + self.config.set('settings', 'nsfw', self.ui.nsfwCheckBox.isChecked()) for minivideo in self.minivideos: if minivideo.video.nsfw: if state: @@ -88,4 +94,8 @@ class MainWindow(QtMainWindow): self.ui.urlEdit.clear() - + def closeEvent(self, ev): + self.config.set('settings', 'backend', str(self.ui.backendEdit.itemData(self.ui.backendEdit.currentIndex()).toString())) + self.config.set('settings', 'sortby', self.ui.sortbyEdit.currentIndex()) + self.config.save() + ev.accept()