def refreshBrowser(self): if self.animator.state() != 0: # Refreshing browser when animator is active causes blindness if not self.refreshBrowser in self.animatorFinishHook: self.animatorFinishHook.append(self.refreshBrowser) return aa = time.time() self.ui.filterBox.clear() self.probedDevices = [] menu = KMenu(self) for package in self.packages: info = self.packages[package] devices = self.iface.devices(package) if len(devices) > 0: # Add package container and set icon menuPackageContainer = KMenu(self.packages[package]['name'], menu) menuPackageContainer.setIcon(KIcon(getIconForPackage(package))) menu.addMenu(menuPackageContainer) # Add filter menu entry self.ui.filterBox.addItem(info["name"], QVariant(package)) if "remote_scan" in info["modes"]: self.ui.filterBox.addItem(i18n("Available Profiles"), QVariant("essid")) APScanner = APPopup(self, package) self.ui.buttonScan.setMenu(APScanner) # Create profile menu with current devices for device in devices.keys(): print device, devices[device] menuItem = QtGui.QAction(devices[device], menuPackageContainer) menuItem.setData( QVariant("%s::%s::%s" % (package, device, devices[device]))) self.connect(menuItem, SIGNAL("triggered()"), self.createConnection) # Store a list of probed devices if device not in self.probedDevices: self.probedDevices.append(device) menuPackageContainer.addAction(menuItem) if len(self.packages) > 0: self.ui.buttonCreate.setIcon(KIcon("list-add")) self.ui.buttonCreate.setMenu(menu) self.ui.filterBox.insertItem(0, i18n("All Profiles"), QVariant("all")) else: self.ui.buttonCreate.setText(i18n("No Device Found")) self.ui.buttonCreate.setEnabled(False) self.ui.filterBox.insertItem(0, i18n("No Device Found")) self.ui.filterBox.setEnabled(False) self.ui.filterBox.setCurrentIndex(0) # Fill the list self.fillProfileList()