From f0ea8829a2f30ead165892e8a822cf5ec44cc9df Mon Sep 17 00:00:00 2001 From: Romain Bignon Date: Fri, 20 Aug 2010 12:22:04 +0200 Subject: [PATCH] display weboob-config-qt at launch on Qt applications when there are no configured backends --- weboob/applications/qboobmsg/main_window.py | 6 +++++- weboob/applications/qhavesex/main_window.py | 3 +++ weboob/applications/qvideoob/main_window.py | 13 ++++++++++++- weboob/core/ouiboube.py | 3 +++ weboob/tools/application/qt/backendcfg.py | 2 +- 5 files changed, 24 insertions(+), 3 deletions(-) diff --git a/weboob/applications/qboobmsg/main_window.py b/weboob/applications/qboobmsg/main_window.py index 9eeee2c4..ac9f22d6 100644 --- a/weboob/applications/qboobmsg/main_window.py +++ b/weboob/applications/qboobmsg/main_window.py @@ -39,9 +39,13 @@ class MainWindow(QtMainWindow): self.connect(self.ui.actionBackends, SIGNAL("triggered()"), self.backendsConfig) self.connect(self.ui.actionRefresh, SIGNAL("triggered()"), self.refresh) + if self.weboob.count_backends() == 0: + self.backendsConfig() + def backendsConfig(self): bckndcfg = BackendCfg(self.weboob, (ICapMessages,), self) - bckndcfg.show() + if bckndcfg.run(): + self.refresh() def refresh(self): self.centralWidget().refresh() diff --git a/weboob/applications/qhavesex/main_window.py b/weboob/applications/qhavesex/main_window.py index bad44c4b..5c8e8495 100644 --- a/weboob/applications/qhavesex/main_window.py +++ b/weboob/applications/qhavesex/main_window.py @@ -53,6 +53,9 @@ class MainWindow(QtMainWindow): self.ui.tabWidget.addTab(QWidget(), self.tr('Calendar')) self.ui.tabWidget.addTab(QWidget(), self.tr('Optimizations')) + if self.weboob.count_backends() == 0: + self.backendsConfig() + def backendsConfig(self): bckndcfg = BackendCfg(self.weboob, (ICapDating,), self) if bckndcfg.run(): diff --git a/weboob/applications/qvideoob/main_window.py b/weboob/applications/qvideoob/main_window.py index b9c39916..e63990e3 100644 --- a/weboob/applications/qvideoob/main_window.py +++ b/weboob/applications/qvideoob/main_window.py @@ -50,6 +50,9 @@ class MainWindow(QtMainWindow): self.loadBackendsList() + if self.ui.backendEdit.count() == 0: + self.backendsConfig() + def backendsConfig(self): bckndcfg = BackendCfg(self.weboob, (ICapVideo,), self) if bckndcfg.run(): @@ -57,12 +60,20 @@ class MainWindow(QtMainWindow): def loadBackendsList(self): self.ui.backendEdit.clear() - self.ui.backendEdit.addItem('All backends', '') for i, backend in enumerate(self.weboob.iter_backends()): + if i == 0: + self.ui.backendEdit.addItem('All backends', '') self.ui.backendEdit.addItem(backend.name, backend.name) if backend.name == self.config.get('settings', 'backend'): self.ui.backendEdit.setCurrentIndex(i+1) + if self.ui.backendEdit.count() == 0: + self.ui.searchEdit.setEnabled(False) + self.ui.urlEdit.setEnabled(False) + else: + self.ui.searchEdit.setEnabled(True) + self.ui.urlEdit.setEnabled(True) + def nsfwChanged(self, state): self.config.set('settings', 'nsfw', int(self.ui.nsfwCheckBox.isChecked())) self.updateVideosDisplay() diff --git a/weboob/core/ouiboube.py b/weboob/core/ouiboube.py index a70f296d..97a05905 100644 --- a/weboob/core/ouiboube.py +++ b/weboob/core/ouiboube.py @@ -109,6 +109,9 @@ class Weboob(object): def get_backend(self, name): return self.backend_instances[name] + def count_backends(self): + return len(self.backend_instances) + def iter_backends(self, caps=None): """ Iter on each backends. diff --git a/weboob/tools/application/qt/backendcfg.py b/weboob/tools/application/qt/backendcfg.py index de4cc3b0..14c12d2a 100644 --- a/weboob/tools/application/qt/backendcfg.py +++ b/weboob/tools/application/qt/backendcfg.py @@ -280,7 +280,7 @@ class BackendCfg(QDialog): backend.version, backend.maintainer.replace('&', '&').replace('<', '<').replace('>', '>'), backend.license, - ('Website: %s
' % backend.website) if backend.website else '', + (unicode(self.tr('Website: %s
')) % backend.website) if backend.website else '', backend.description, ', '.join([cap.__name__ for cap in backend.iter_caps()])))