display weboob-config-qt at launch on Qt applications when there are no configured backends

This commit is contained in:
Romain Bignon 2010-08-20 12:22:04 +02:00
commit f0ea8829a2
5 changed files with 24 additions and 3 deletions

View file

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

View file

@ -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():

View file

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

View file

@ -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.

View file

@ -280,7 +280,7 @@ class BackendCfg(QDialog):
backend.version,
backend.maintainer.replace('&', '&amp;').replace('<', '&lt;').replace('>', '&gt;'),
backend.license,
('<b>Website</b>: %s<br />' % backend.website) if backend.website else '',
(unicode(self.tr('<b>Website</b>: %s<br />')) % backend.website) if backend.website else '',
backend.description,
', '.join([cap.__name__ for cap in backend.iter_caps()])))