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.actionBackends, SIGNAL("triggered()"), self.backendsConfig)
self.connect(self.ui.actionRefresh, SIGNAL("triggered()"), self.refresh) self.connect(self.ui.actionRefresh, SIGNAL("triggered()"), self.refresh)
if self.weboob.count_backends() == 0:
self.backendsConfig()
def backendsConfig(self): def backendsConfig(self):
bckndcfg = BackendCfg(self.weboob, (ICapMessages,), self) bckndcfg = BackendCfg(self.weboob, (ICapMessages,), self)
bckndcfg.show() if bckndcfg.run():
self.refresh()
def refresh(self): def refresh(self):
self.centralWidget().refresh() 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('Calendar'))
self.ui.tabWidget.addTab(QWidget(), self.tr('Optimizations')) self.ui.tabWidget.addTab(QWidget(), self.tr('Optimizations'))
if self.weboob.count_backends() == 0:
self.backendsConfig()
def backendsConfig(self): def backendsConfig(self):
bckndcfg = BackendCfg(self.weboob, (ICapDating,), self) bckndcfg = BackendCfg(self.weboob, (ICapDating,), self)
if bckndcfg.run(): if bckndcfg.run():

View file

@ -50,6 +50,9 @@ class MainWindow(QtMainWindow):
self.loadBackendsList() self.loadBackendsList()
if self.ui.backendEdit.count() == 0:
self.backendsConfig()
def backendsConfig(self): def backendsConfig(self):
bckndcfg = BackendCfg(self.weboob, (ICapVideo,), self) bckndcfg = BackendCfg(self.weboob, (ICapVideo,), self)
if bckndcfg.run(): if bckndcfg.run():
@ -57,12 +60,20 @@ class MainWindow(QtMainWindow):
def loadBackendsList(self): def loadBackendsList(self):
self.ui.backendEdit.clear() self.ui.backendEdit.clear()
self.ui.backendEdit.addItem('All backends', '')
for i, backend in enumerate(self.weboob.iter_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) self.ui.backendEdit.addItem(backend.name, backend.name)
if backend.name == self.config.get('settings', 'backend'): if backend.name == self.config.get('settings', 'backend'):
self.ui.backendEdit.setCurrentIndex(i+1) 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): def nsfwChanged(self, state):
self.config.set('settings', 'nsfw', int(self.ui.nsfwCheckBox.isChecked())) self.config.set('settings', 'nsfw', int(self.ui.nsfwCheckBox.isChecked()))
self.updateVideosDisplay() self.updateVideosDisplay()

View file

@ -109,6 +109,9 @@ class Weboob(object):
def get_backend(self, name): def get_backend(self, name):
return self.backend_instances[name] return self.backend_instances[name]
def count_backends(self):
return len(self.backend_instances)
def iter_backends(self, caps=None): def iter_backends(self, caps=None):
""" """
Iter on each backends. Iter on each backends.

View file

@ -280,7 +280,7 @@ class BackendCfg(QDialog):
backend.version, backend.version,
backend.maintainer.replace('&', '&amp;').replace('<', '&lt;').replace('>', '&gt;'), backend.maintainer.replace('&', '&amp;').replace('<', '&lt;').replace('>', '&gt;'),
backend.license, 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, backend.description,
', '.join([cap.__name__ for cap in backend.iter_caps()]))) ', '.join([cap.__name__ for cap in backend.iter_caps()])))