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()])))