def _tabBar(self): tabBar=QTabWidget() tabScroll=QWidget() tabScroll.setObjectName("scroll") tabScroll.setStyleSheet("#scroll{background-image:url('%s');}"%self.bg) tabScroll.setFocusPolicy(Qt.NoFocus) scrollArea=QScrollArea(tabScroll) scrollArea.setFocusPolicy(Qt.NoFocus) tabContent=QWidget() vbox=QGridLayout() scr=app.primaryScreen() w=scr.size().width()-BTN_SIZE h=scr.size().height()-(2*BTN_SIZE) self.maxCol=int(w/BTN_SIZE)-3 self._debug("Size: %s\nCols: %s"%(self.width(),self.maxCol)) for desktop in self.desktops: apps=self._get_desktop_apps(desktop) self._add_widgets(vbox,apps) tabContent.setLayout(vbox) scrollArea.setWidget(tabContent) scrollArea.setObjectName("launcher") scrollArea.alignment() tabBar.addTab(tabScroll,"") tabBar.tabBar().setTabButton(0,QTabBar.LeftSide,self.tab_id[0]['show']) tabBar.tabBar().tabButton(0,QTabBar.LeftSide).setFocusPolicy(Qt.NoFocus) scrollArea.setGeometry(QRect(0,0,w,h)) tabBar.setObjectName("tabbar") return (tabBar)
def _load_screen(self): def _update_categories(cat): if cat in self.visible_categories: self.visible_categories.remove(cat) else: self.visible_categories.append(cat) apps = self.runner.get_apps(self.visible_categories, False) apps['desktops'].extend(desktop_apps) self.update_apps(apps) def _update_desktops(): cursor = QtGui.QCursor(Qt.WaitCursor) self.setCursor(cursor) fdia = desktopChooser(self) fdia.dblClicked.connect(self._tbl_DropEvent) cursor = QtGui.QCursor(Qt.PointingHandCursor) self.setCursor(cursor) fchoosed = '' if (fdia.show()): self.setChanged(True) fchoosed = fdia.selectedFiles()[0] apps = self._get_table_apps() apps['desktops'].append(fchoosed) desktop_apps.append(fchoosed) self.update_apps(apps) desktop_apps = [] self.tbl_app.clear() apps = self._update_apps_data() sigmap_catSelect = QSignalMapper(self) sigmap_catSelect.mapped[QString].connect(_update_categories) box = QVBoxLayout() btnBox = QHBoxLayout() btn_cat = QPushButton(_("Categories")) btn_cat.setFixedWidth(150) for cat in self._get_all_categories(): if not cat: continue act = QAction(cat, self.menu_cat) act.setCheckable(True) if cat in self.visible_categories: act.setChecked(True) self.menu_cat.addAction(act) sigmap_catSelect.setMapping(act, cat) act.triggered.connect(sigmap_catSelect.map) btn_cat.setMenu(self.menu_cat) btn_add = QPushButton(_("Add launcher")) btn_add.setToolTip(_("Add Launcher")) btn_add.setFixedWidth(150) btn_add.clicked.connect(_update_desktops) btnBox.addWidget(btn_cat, 1, Qt.AlignLeft) btnBox.addWidget(btn_add, 2, Qt.AlignLeft) box.addLayout(btnBox, Qt.AlignLeft) tabScroll = QWidget() tabScroll.setFocusPolicy(Qt.NoFocus) scrollArea = QScrollArea(tabScroll) scrollArea.setFocusPolicy(Qt.NoFocus) self.update_apps(apps) scrollArea.setWidget(self.tbl_app) scrollArea.alignment() scrollArea.setGeometry(QRect(0, 0, self.width, self.height)) self.tbl_app.setFixedWidth( (self.columns + int(self.columns * 0.5) + 1) * BTN_SIZE) box.addWidget(self.tbl_app) self.setLayout(box)