def __init__(self, weboob, caps=None, parent=None): QDialog.__init__(self, parent) self.ui = Ui_BackendCfg() self.ui.setupUi(self) self.ui.backendsList.sortByColumn(0, Qt.AscendingOrder) self.to_unload = set() self.to_load = set() self.weboob = weboob self.caps = caps self.config_widgets = {} # This attribute is set when itemChanged it called, because when # a backend is enabled/disabled, we don't want to display its config # frame, and the itemClicked event is always emit just after a # itemChanged event. # is_enabling is a counter to prevent race conditions. self.is_enabling = 0 self.ui.backendsList.header().setResizeMode( QHeaderView.ResizeToContents) self.ui.configFrame.hide() self.icon_cache = {} self.icon_threads = {} self.loadModules() self.loadBackendsList() self.connect(self.ui.updateButton, SIGNAL('clicked()'), self.updateModules) self.connect(self.ui.repositoriesButton, SIGNAL('clicked()'), self.editRepositories) self.connect(self.ui.backendsList, SIGNAL('itemClicked(QTreeWidgetItem *, int)'), self.backendClicked) self.connect(self.ui.backendsList, SIGNAL('itemChanged(QTreeWidgetItem *, int)'), self.backendEnabled) self.connect(self.ui.modulesList, SIGNAL('itemSelectionChanged()'), self.moduleSelectionChanged) self.connect(self.ui.proxyBox, SIGNAL('toggled(bool)'), self.proxyEditEnabled) self.connect(self.ui.addButton, SIGNAL('clicked()'), self.addEvent) self.connect(self.ui.removeButton, SIGNAL('clicked()'), self.removeEvent) self.connect(self.ui.registerButton, SIGNAL('clicked()'), self.registerEvent) self.connect(self.ui.configButtonBox, SIGNAL('accepted()'), self.acceptBackend) self.connect(self.ui.configButtonBox, SIGNAL('rejected()'), self.rejectBackend)