load tabs only when they are shown for the first time
This commit is contained in:
parent
d23bed8335
commit
11893f4bb0
3 changed files with 14 additions and 1 deletions
|
|
@ -50,6 +50,7 @@ class MessagesManager(QWidget):
|
|||
self.connect(self.ui.messagesTree, SIGNAL('itemActivated(QTreeWidgetItem *, int)'), self._messageSelected)
|
||||
self.connect(self, SIGNAL('gotMessage'), self._gotMessage)
|
||||
|
||||
def load(self):
|
||||
self.refresh()
|
||||
|
||||
def _backendChanged(self):
|
||||
|
|
|
|||
|
|
@ -68,6 +68,7 @@ class ContactsWidget(QWidget):
|
|||
self.connect(self.ui.groupBox, SIGNAL('currentIndexChanged(int)'), self.groupChanged)
|
||||
self.connect(self.ui.contactList, SIGNAL('currentItemChanged(QListWidgetItem*, QListWidgetItem*)'), self.contactChanged)
|
||||
|
||||
def load(self):
|
||||
self.ui.groupBox.setCurrentIndex(1)
|
||||
|
||||
def groupChanged(self, i):
|
||||
|
|
|
|||
|
|
@ -25,6 +25,7 @@ from weboob.capabilities.dating import ICapDating
|
|||
from weboob.frontends.qboobmsg.messages_manager import MessagesManager
|
||||
|
||||
from .ui.main_window_ui import Ui_MainWindow
|
||||
from .status import AccountsStatus
|
||||
from .contacts import ContactsWidget
|
||||
|
||||
class MainWindow(QtMainWindow):
|
||||
|
|
@ -36,13 +37,23 @@ class MainWindow(QtMainWindow):
|
|||
self.config = config
|
||||
self.weboob = weboob
|
||||
|
||||
self.ui.tabWidget.addTab(QWidget(), self.tr('Status'))
|
||||
self.loaded_tabs = {}
|
||||
|
||||
self.ui.tabWidget.addTab(AccountsStatus(self.weboob), self.tr('Status'))
|
||||
self.ui.tabWidget.addTab(MessagesManager(self.weboob), self.tr('Messages'))
|
||||
self.ui.tabWidget.addTab(ContactsWidget(self.weboob), self.tr('Contacts'))
|
||||
self.ui.tabWidget.addTab(QWidget(), self.tr('Calendar'))
|
||||
|
||||
self.connect(self.ui.actionModules, SIGNAL("triggered()"), self.modulesConfig)
|
||||
self.connect(self.ui.tabWidget, SIGNAL('currentChanged(int)'), self.tabChanged)
|
||||
|
||||
def modulesConfig(self):
|
||||
bckndcfg = BackendCfg(self.weboob, (ICapDating,), self)
|
||||
bckndcfg.show()
|
||||
|
||||
def tabChanged(self, i):
|
||||
widget = self.ui.tabWidget.currentWidget()
|
||||
|
||||
if hasattr(widget, 'load') and not i in self.loaded_tabs:
|
||||
widget.load()
|
||||
self.loaded_tabs[i] = True
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue