def append_wifi_data(self, data): """ Append data to list in WiFi list tab """ self.clear_wifi_list.emit() i = 1 for i in data: if self.current_lang == "Polski": item = QListWidgetItem( 'BSID: ' + str(i) + ' \nKanał: ' + str(data[i][1]) + ' \nRSSI: ' + str(data[i][0]) + ' dBm \nMAC: ' + str(data[i][3]) + ' (Producent: ' + str(manu.search_manufacturer_by_mac(str(data[i][3]))) + ')') else: item = QListWidgetItem( 'BSID: ' + str(i) + ' \nChannel: ' + str(data[i][1]) + ' \nRSSI: ' + str(data[i][0]) + ' dBm \nMAC: ' + str(data[i][3]) + ' (Manufacturer: ' + str(manu.search_manufacturer_by_mac(str(data[i][3]))) + ')') if int(abs(data[i][0])) < 50: item.setIcon(QIcon('icons/icons8-no-connection-64-green.png')) elif int(abs(data[i][0])) >= 50 and int(abs(data[i][0])) < 70: item.setIcon(QIcon('icons/icons8-no-connection-64-blue.png')) elif int(abs(data[i][0])) >= 70 and int(abs(data[i][0])) < 80: item.setIcon(QIcon('icons/icons8-no-connection-64-orange.png')) elif int(abs(data[i][0])) >= 80 and int(abs(data[i][0])) < 90: item.setIcon(QIcon('icons/icons8-no-connection-64-red.png')) elif int(abs(data[i][0])) >= 90: item.setIcon(QIcon('icons/icons8-no-connection-64-black.png')) self.append_wifi_list_item.emit(item) self.loop = QEventLoop() QTimer.singleShot(50, self.loop.quit) self.loop.exec_()
def append_blue_data(self, data): """ DOCSTRING """ self.clear_blue_list.emit() i = 1 for i in data: if self.current_lang == "Polski": item = QListWidgetItem('Nazwa: ' + str(i) + ' \nMAC: ' + str(data[i][0].upper()) + ' \nRSSI: ' + str(data[i][1]) + ' dBm\nProducent: ' + str( manu.search_manufacturer_by_mac( str(data[i][0].upper()))) + '') else: item = QListWidgetItem('Name: ' + str(i) + ' \nMAC: ' + str(data[i][0].upper()) + ' \nRSSI: ' + str(data[i][1]) + ' dBm\nManufacturer: ' + str( manu.search_manufacturer_by_mac( str(data[i][0].upper()))) + '') if int(abs(data[i][1])) < 50: item.setIcon(QIcon('icons/icons8-no-connection-64-green.png')) elif int(abs(data[i][1])) >= 50 and int(abs(data[i][1])) < 70: item.setIcon(QIcon('icons/icons8-no-connection-64-blue.png')) elif int(abs(data[i][1])) >= 70 and int(abs(data[i][1])) < 80: item.setIcon(QIcon('icons/icons8-no-connection-64-orange.png')) elif int(abs(data[i][1])) >= 80 and int(abs(data[i][1])) < 90: item.setIcon(QIcon('icons/icons8-no-connection-64-red.png')) elif int(abs(data[i][1])) >= 90: item.setIcon(QIcon('icons/icons8-no-connection-64-black.png')) self.append_blue_list_item.emit(item) self.loop = QEventLoop() QTimer.singleShot(50, self.loop.quit) self.loop.exec_()
def list_items(self): for item in self.items: list_item = QListWidgetItem(item['name']) if item['done']: icon = QIcon('done.svg') list_item.setIcon(icon) self.items_view.addItem(list_item)
def addItem(self, label): label_text = label.text() if isinstance(label, QListWidgetItem) else label item = QListWidgetItem(self.filt(label_text)) image = QImage() image.loadFromData(list_item) item.setIcon(QIcon(QPixmap(image))) self.items.append(label_text) super().addItem(item)
def _left_panel(self): panel = QWidget() box = QVBoxLayout() btn_menu = QPushButton() icn = QtGui.QIcon.fromTheme("application-menu") btn_menu.setIcon(icn) btn_menu.setIconSize(QSize(BTN_MENU_SIZE, BTN_MENU_SIZE)) btn_menu.setMaximumWidth(BTN_MENU_SIZE) btn_menu.setMaximumHeight(BTN_MENU_SIZE) btn_menu.setToolTip(_("Options")) btn_menu.setObjectName("menuButton") # box.addWidget(btn_menu,Qt.Alignment(1)) indexes = [] for index, option in self.stacks.items(): idx = index lst_widget = QListWidgetItem() lst_widget.setText(option['name']) mod = option.get('module', None) if mod: try: idx = mod.index except: pass if idx > 0: icn = QtGui.QIcon.fromTheme(option['icon']) lst_widget.setIcon(icn) if 'tooltip' in option.keys(): lst_widget.setToolTip(option['tooltip']) while idx in indexes: idx += 1 indexes.append(index) self.stacks[idx]['widget'] = lst_widget orderedStacks = {} orderedStacks[0] = self.stacks[0] #self.lst_options.addItem(orderedStacks[0]['widget']) cont = 0 indexes.sort() for index in indexes: if index: orderedStacks[cont] = self.stacks[index].copy() if self.stacks[index].get('visible', True) == True: self.lst_options.addItem(orderedStacks[cont]['widget']) cont += 1 self.stacks = orderedStacks.copy() box.addWidget(self.lst_options) self.lst_options.currentRowChanged.connect(self._show_stack) self.lst_options.setCurrentIndex(QModelIndex()) self.last_index = None panel.setLayout(box) self.resize(self.size().width() + box.sizeHint().width(), self.size().height() + box.sizeHint().height() / 2) self.lst_options.setFixedSize( self.lst_options.sizeHintForColumn(0) + 2 * (self.lst_options.frameWidth() + 15), self.height() ) #self.lst_options.sizeHintForRow(0) * self.lst_options.count() + 2 * (self.lst_options.frameWidth()+15)) return (panel)
def create_project(self, project_name: str, visualization: bool = False, stimulus: bool = False, analysis: bool = False) -> None: """Create a new project with a template and open it.""" icon = QIcon() icon_name = 'icon_sti' if visualization: icon_name = 'icon_viz' item = QListWidgetItem( self.parent_frame.listWidget_projects_visualizations) default_project = '_default_visualization' self.mode = 'visualization' elif stimulus: icon_name = 'icon_sti' item = QListWidgetItem( self.parent_frame.listWidget_projects_delivery) default_project = '_default_stimuli_delivery' self.mode = 'delivery' elif analysis: icon_name = 'icon_ana' item = QListWidgetItem( self.parent_frame.listWidget_projects_analysis) default_project = '_default_data_analysis' self.mode = 'analysis' item.setFlags(Qt.ItemIsSelectable | Qt.ItemIsEditable | Qt.ItemIsDragEnabled | Qt.ItemIsUserCheckable | Qt.ItemIsEnabled) item.setText(project_name) item.previous_name = project_name item.path = self.normalize_path(project_name) ext = 0 while item.path in os.listdir(self.projects_dir): ext += 1 item.path = f"{self.normalize_path(project_name)}{ext}" icon.addFile(f"bci:primary/{icon_name}.svg", QSize(), QIcon.Normal, QIcon.Off) item.setIcon(icon) item.icon_name = icon_name source = os.path.join(os.getenv('BCISTREAM_ROOT'), 'default_extensions', default_project) target = os.path.join(self.projects_dir, item.path) shutil.copytree(source, target) pickle.dump({ 'name': project_name, 'files': [] }, open(os.path.join(self.projects_dir, item.path, BCIFR_FILE), 'wb')) self.open_project(item.path)
def populate(self): """Actualize the list of word sets""" self.view.clear() self.set_names = list() for data in get_wordsets(self.conn): set_name = data["name"] item = QListWidgetItem() item.setText(set_name) item.setIcon(FIcon(0xF0A38)) self.view.addItem(item) self.set_names.append(set_name)
def create_current_item(self, flags): if self.active_stack.index() == 0: txt = _(' 0: Geladener Zustand des Dokuments') else: txt = _(' 0: Aktueller Zustand des Dokuments') current_item = QListWidgetItem(txt) current_item.setForeground(self.fg_black) current_item.setBackground(self.bg_grey) current_item.setFlags(flags) current_item.setIcon(IconRsc.get_icon('options')) return current_item
def __init__(self, item_names=[], icon_loc="table.png", parent=None): super().__init__(parent) self.setStyleSheet(""" font-size: 12pt; """) self.setMinimumWidth(300) self.setSelectionMode(QAbstractItemView.SingleSelection) if item_names: for item_name in item_names: item = QListWidgetItem(item_name) item.setIcon(QIcon(QPixmap(icon_loc))) self.addItem(item)
def add_component_controller( self, component_controller: ComponentController) -> None: label = component_controller.get_q_svg_component_widget() controller_item = QListWidgetItem() controller_item.parent = component_controller controller_item.setText("Testtest") pixmap = component_controller.pixmap controller_item.setIcon(pixmap) controller_item.setFlags(Qt.ItemIsEnabled | Qt.ItemIsSelectable | Qt.ItemIsDragEnabled) controller_item.component_controller = component_controller self.setItemWidget(controller_item, label) self.addItem(controller_item) logger.debug("Component added")
def _add_list_item(self, item_data: ResultItemData) -> None: new_item = QListWidgetItem(item_data.title) new_item.setData(Qt.UserRole, item_data.glob_id) if item_data.rgb is not None: color = QColor(*item_data.rgb) brush = QBrush(color) new_item.setForeground(brush) icon = self._data_icons.get(item_data.category.lower(), None) if icon is not None: new_item.setIcon(icon) self.ui.search_result_list.addItem(new_item)
def Write(self, files): self.clear() for f in files: item = QListWidgetItem(f, self) if self._folder is None: item.setForeground(QBrush(Qt.red)) continue filename = os.path.join(self._folder, f) if not os.path.isfile(filename): item.setForeground(QBrush(Qt.red)) continue item.setIcon(icons.FileIcon(filename)) item.setData(Qt.UserRole, filename) self.sortItems()
def create_history_item(self, c: int, txt: str, icon, redo_idx): num = c - redo_idx if num >= 0: num += 1 item = QListWidgetItem(f'{txt} [{num: 3d}]', self.viewList) item.setData(Qt.UserRole, c) item.setFlags(self.enabled_flags) item.setIcon(icon) if num > 0: item.setForeground(self.fg_grey) item.setFont(FontRsc.italic) return item
def create_item(self, name, icon, parent): """Create a standard list widget item, for option panel. Args: name: Name of option button icon: Icon name of option button parent: The QListWidget Returns: item: created option button """ item = QListWidgetItem(parent) item.setText(name) item.setIcon(QIcon(icon)) item.setStatusTip(name) item.setTextAlignment(Qt.AlignLeft) item.setFlags(Qt.ItemIsSelectable | Qt.ItemIsEnabled)
def update_view(self): self.clear() self.rows_data = self.filter_view() for row_data in self.rows_data: playlist_name = self.manager_model.playlists[row_data].name item = QListWidgetItem(playlist_name) item.setData(Qt.UserRole, row_data) if ord("a") <= ord(playlist_name[0].lower()) <= ord("z"): item.setIcon( QIcon( QPixmap(u":/images/icons/ascii/{}.png".format( playlist_name[0].lower())))) else: item.setIcon( QIcon(QPixmap(u":/images/icons/ascii/question_mark.svg"))) self.addItem(item)
def search_bar(self): text = self.ui.SearchBar.text() n = 0 results = [] # ! not part of search - joke if text == "wii bric": self.ui.listAppsWidget.clear() item = QListWidgetItem() item.setText("Wii Pong\n" "9.000MiB | 9.0.0.0 | Danbo | Wii Pong") item.setIcon(QIcon(resource_path("assets/gui/icons/bricks.png"))) self.ui.listAppsWidget.addItem(item) self.close_the_shop() return # Filter items with search term for i in self.ui.listAppsWidget.findItems(text, Qt.MatchContains): if self.current_category == "all" and (self.current_developer in i.data( Qt.UserRole)["coder"]): results.append(i.text()) n += 1 elif i.data(Qt.UserRole)["category"] == self.current_category and ( self.current_developer in i.data(Qt.UserRole)["coder"]): results.append(i.text()) n += 1 else: pass # Get All Items for i in self.ui.listAppsWidget.findItems("", Qt.MatchContains): # Hide and unhide! if i.text() in results: i.setHidden(False) else: i.setHidden(True) if text == "": if n == 1: self.ui.AppsAmountLabel.setText(f"{n} App") else: self.ui.AppsAmountLabel.setText(f"{n} Apps") else: if n == 1: self.ui.AppsAmountLabel.setText(f"{n} Result") else: self.ui.AppsAmountLabel.setText(f"{n} Results")
def addNewItem(self, name, icon=None): if os.getenv("PINGUINO_PYTHON") is "2": if not icon: icon = None elif type(icon) in [str, unicode]: icon = getattr(self.icons, icon) elif os.getenv("PINGUINO_PYTHON") is "3": if not icon: icon = None elif type(icon) == str: icon = getattr(self.icons, icon) if not name in self.itemsListName: item = QListWidgetItem() if icon: item.setIcon(icon) item.setText(name) self.addItem(item) self.itemsList.append(item) self.itemsListName.append(name) return item
def update_view(self): self.clear() self.rows_data = self.filter_view() for row_data in self.rows_data: shown_name = "({})" if len(row_data) > 1 else "{}" item = QListWidgetItem( shown_name.format(", ".join([str(i) for i in row_data]))) item.setData(Qt.UserRole, row_data) if ord("a") <= ord(str(row_data[0])[0].lower()) <= ord("z"): item.setIcon( QIcon( QPixmap(u":/images/icons/ascii/{}.png".format( str(row_data[0])[0].lower())))) else: item.setIcon( QIcon(QPixmap(u":/images/icons/ascii/question_mark.svg"))) self.addItem(item)
def addItemsCompleter(self, list_, icon=None): if os.getenv("PINGUINO_PYTHON") is "2": if not icon: icon = None elif type(icon) in [str, unicode]: icon = getattr(self.icons, icon) elif os.getenv("PINGUINO_PYTHON") is "3": if not icon: icon = None elif type(icon) == str: icon = getattr(self.icons, icon) for text in list_: if not text in self.itemsListName: item = QListWidgetItem() if icon != None: item.setIcon(icon) item.setText(text) self.addItem(item) self.itemsList.append(item) self.itemsListName.append(item.text())
def create_item(self, name, icon): """Create a standard list widget item, for option panel. Args: name: Name of option button icon: Icon name of option button Returns: item: created option button """ item = QListWidgetItem(self) item.setText(name) item.setIcon(QIcon(icon)) item.setStatusTip(name) item.setSizeHint(QSize(75, 70)) item.setTextAlignment(Qt.AlignCenter) item.setFlags(Qt.ItemIsSelectable | Qt.ItemIsEnabled) return item
def __init__(self, *args, **kwargs): super(VarietyAdmin, self).__init__(*args, **kwargs) # 添加品种组别的选项 for group in [{ "name": "金融股指", "name_en": "finance", "logo": "icons/finance.png" }, { "name": "农副产品", "name_en": "farm", "logo": "icons/farm_product.png" }, { "name": "能源化工", "name_en": "chemical", "logo": "icons/chemical.png" }, { "name": "金属产业", "name_en": "metal", "logo": "icons/metal.png" }]: group_item = QListWidgetItem(group["name"]) group_item.setIcon(QIcon(group["logo"])) self.group_list.addItem(group_item) self.opts_widget.belong_group.addItem( group["name"]) # 添加新建品种页面的组别选项 # 添加新建品种页面的交易所选项 for exchange in [ "郑州商品交易所", "大连商品交易所", "上海期货交易所", "中国金融期货交易所", "上海国际能源中心" ]: self.opts_widget.belong_exchange.addItem(exchange) self.group_list.clicked.connect(self.select_variety_group) # 点击项目的行为 self.opts_widget.add_button.clicked.connect( self.add_new_variety) # 新建品种与列表显示切换 self.opts_widget.commit_new_button.clicked.connect( self.commit_new_variety) # 确定新增品种
def selection_changed(self): try: if not splash.isHidden(): splash.showMessage(f"Finishing (2/3) - Loading first app..", color=splash_color) except NameError: pass try: data = self.ui.listAppsWidget.currentItem().data(Qt.UserRole) app_name = data["internal_name"] except Exception: app_name = None if app_name is not None: # Set active tab to first self.ui.tabMetadata.setCurrentIndex(0) # Hide icon self.ui.HomebrewIconLabel.hide() # Clear supported controllers listview: self.ui.SupportedControllersListWidget.clear() # Set data data = self.ui.listAppsWidget.currentItem().data(Qt.UserRole) # -- Get actual metadata # App Name self.ui.appname.setText(data["display_name"]) self.ui.SelectionInfoBox.setTitle("Metadata: " + data["display_name"]) self.ui.label_displayname.setText(data["display_name"]) # File Size try: self.ui.filesize.setText(metadata.file_size(data["extracted"])) except KeyError: self.ui.filesize.setText("Unknown") # Category self.ui.HomebrewCategoryLabel.setText( metadata.category_display_name(data["category"])) # Release Date self.ui.releasedate.setText( datetime.fromtimestamp(int( data["release_date"])).strftime('%B %e, %Y at %R')) # Controllers controllers = metadata.parse_controllers(data["controllers"]) # Add icons for Wii Remotes if controllers[0] > 1: item = QListWidgetItem() item.setText(f"{str(controllers[0])} Wii Remotes") item.setIcon( QIcon( resource_path( f"assets/gui/icons/controllers/{str(controllers[0])}WiiRemote.png" ))) item.setToolTip( f"This app supports up to {str(controllers[0])} Wii Remotes." ) self.ui.SupportedControllersListWidget.addItem(item) elif controllers[0] == 1: item = QListWidgetItem() item.setText(f"1 Wii Remote") item.setIcon( QIcon( resource_path( f"assets/gui/icons/controllers/1WiiRemote.png"))) item.setToolTip("This app supports a single Wii Remote.") self.ui.SupportedControllersListWidget.addItem(item) if controllers[1] is True: item = QListWidgetItem() item.setText(f"Nunchuk") item.setIcon( QIcon( resource_path( f"assets/gui/icons/controllers/Nunchuk.png"))) item.setToolTip("This app can be used with a Nunchuk.") self.ui.SupportedControllersListWidget.addItem(item) if controllers[2] is True: item = QListWidgetItem() item.setText(f"Classic Controller") item.setIcon( QIcon( resource_path( f"assets/gui/icons/controllers/ClassicController.png" ))) item.setToolTip( "This app can be used with a Classic Controller.") self.ui.SupportedControllersListWidget.addItem(item) if controllers[3] is True: item = QListWidgetItem() item.setText(f"GameCube Controller") item.setIcon( QIcon( resource_path( f"assets/gui/icons/controllers/GamecubeController.png" ))) item.setToolTip( "This app can be used with a Gamecube Controller.") self.ui.SupportedControllersListWidget.addItem(item) if controllers[4] is True: item = QListWidgetItem() item.setText(f"Wii Zapper") item.setIcon( QIcon( resource_path( f"assets/gui/icons/controllers/WiiZapper.png"))) item.setToolTip("This app can be used with a Wii Zapper.") self.ui.SupportedControllersListWidget.addItem(item) if controllers[5] is True: item = QListWidgetItem() item.setText(f"USB Keyboard") item.setIcon( QIcon( resource_path( f"assets/gui/icons/controllers/USBKeyboard.png"))) item.setToolTip("This app can be used with a USB Keyboard.") self.ui.SupportedControllersListWidget.addItem(item) if controllers[6] is True: item = QListWidgetItem() item.setText(f"SDHC Card") item.setIcon( QIcon( resource_path( f"assets/gui/icons/controllers/SDHC.png"))) item.setToolTip("This app is confirmed to support SDHC cards.") self.ui.SupportedControllersListWidget.addItem(item) # Version self.ui.version.setText(data["version"]) # Coder self.ui.developer.setText(data["coder"]) # Short Description if data["short_description"] == "": self.ui.label_description.setText("No description specified.") else: self.ui.label_description.setText(data["short_description"]) # Long Description self.ui.longDescriptionBrowser.setText(data["long_description"]) # File Name Line Edit self.ui.FileNameLineEdit.setText(app_name + ".zip") self.ui.DirectLinkLineEdit.setText( metadata.url(app_name, repo=HOST)) self.ui.progressBar.setValue(0) self.repaint() # Load icon self.load_icon(app_name=app_name, repo=HOST) self.status_message("Ready to download")
def _initUI(self): def _init_tool_buttons(): # First logic buttons logic_buttons_layout = QHBoxLayout() logic_buttons = [('NO', QPushButton('NO')), ('AND', QPushButton('AND')), ('OR', QPushButton('OR')), ('implies', QPushButton('→')), ('equivalence', QPushButton('↔')), ('forall', QPushButton('∀')), ('exists', QPushButton('∃'))] for name, button in logic_buttons: if name in self.tool_buttons: logic_buttons_layout.addWidget(button) # Then proof buttons proof_buttons_layout = QHBoxLayout() proof_buttons = [\ ('p_contraposition', QPushButton('Proof by contraposition')), ('p_absurd', QPushButton('Proof by contradicton')), ('p_cases', QPushButton('Cases disjunction')), ('p_induction', QPushButton('Proof by induction'))] for name, button in proof_buttons: if name in self.tool_buttons: proof_buttons_layout.addWidget(button) # Put it all together buttons_layout = QVBoxLayout() buttons_layout.addLayout(logic_buttons_layout) buttons_layout.addLayout(proof_buttons_layout) return buttons_layout # Create widgets objects = PropobjList() objects.addItem('X : ensemble') objects.addItem('Y : ensemble') objects.addItem('f : X → Y') objects.addItem('x ∈ X') objects.addItem('A : partie de X') icon_item = QListWidgetItem('B partie de X') icon_item.setIcon(QIcon('icon_blue.png')) objects.addItem(icon_item) properties = PropobjList() properties.addItem('f est une fonction de remplissage') properties.addItem("transitivité de l'union") statements = QTreeWidget() statements.setAlternatingRowColors(True) statements.setHeaderLabels(['Énoncé', 'Identifiant']) anneaux_ideaux = StatementNode(statements, 'Anneaux et idéaux') Statement(anneaux_ideaux, ['Définition anneau', 'Définition 1.1']) Statement(anneaux_ideaux, ['Définition idéal', 'Définition 1.7']) Statement(anneaux_ideaux, ["Existence d'un idéal maximal", 'Théorème']) noetherianite = StatementNode(statements, 'Noetherianité') Statement(noetherianite, ['Transfert de Noethérianité', '']) Statement(noetherianite, ['Principal implique noethérien', 'Proposition 2.3']) statements.resizeColumnToContents(0) goal = Goal(GOAL) # Create layouts goal_layout = QHBoxLayout() logic_buttons = _init_tool_buttons() # already contains buttons main_layout = QVBoxLayout() workspace_layout = QHBoxLayout() propobj_layout = QVBoxLayout() tools_layout = QVBoxLayout() # Create QGroupBox to have titles propobj_gb = QGroupBox('Properties and objects') tools_gb = QGroupBox('Tools (affect goal, prop. and obj.)') # Put widgets in layouts and group boxes goal_layout.addStretch() goal_layout.addWidget(goal) goal_layout.addStretch() # Add space below goal goal_layout.setContentsMargins(0, 10, 0, 30) #LTRB propobj_layout.addWidget(objects) propobj_layout.addWidget(properties) tools_layout.addLayout(logic_buttons) tools_layout.addWidget(statements) propobj_gb.setLayout(propobj_layout) tools_gb.setLayout(tools_layout) workspace_layout.addWidget(propobj_gb) workspace_layout.addWidget(tools_gb) # Don't forget me main_layout.addLayout(goal_layout) main_layout.addLayout(workspace_layout) self.setWindowTitle("L'union des images réciproque est l'image "\ "réciproque de l'union — d∃∀duction") self.setLayout(main_layout) self.show()
def load_projects(self) -> None: """Load projects.""" self.parent_frame.listWidget_projects_visualizations.clear() self.parent_frame.listWidget_projects_analysis.clear() self.parent_frame.listWidget_projects_delivery.clear() projects = os.listdir(self.projects_dir) projects = filter( lambda f: os.path.isdir(os.path.join(self.projects_dir, f)), projects) projects = filter(lambda f: not f.startswith('__'), projects) if (not self.parent_frame.checkBox_projects_show_tutorials.isChecked() ) and ('--local' in sys.argv): projects = filter(lambda f: not f.startswith('_'), projects) projects = sorted(list(projects)) for project_dir in projects: project = project_dir if os.path.exists( os.path.join(self.projects_dir, project_dir, BCIFR_FILE)): bcifr = pickle.load( open( os.path.join(self.projects_dir, project_dir, BCIFR_FILE), 'rb')) if isinstance(bcifr, set): pickle.dump({ 'name': project, 'files': bcifr }, open( os.path.join(self.projects_dir, project_dir, BCIFR_FILE), 'wb')) elif isinstance(bcifr, dict): project = bcifr.get('name', project) else: pickle.dump({ 'name': project, 'files': [] }, open( os.path.join(self.projects_dir, project_dir, BCIFR_FILE), 'wb')) if project.startswith( 'Tutorial |' ) and not self.parent_frame.checkBox_projects_show_tutorials.isChecked( ): continue if project.startswith( 'Tutorial: ' ) and not self.parent_frame.checkBox_projects_show_tutorials.isChecked( ): continue with open(os.path.join(self.projects_dir, project_dir, 'main.py'), 'r') as file: lines = file.readlines() modules = { LINE_VISUALIZATION: (self.parent_frame.listWidget_projects_visualizations, 'icon_viz'), LINE_DELIVERY: (self.parent_frame.listWidget_projects_delivery, 'icon_sti'), LINE_ANALYSIS: (self.parent_frame.listWidget_projects_analysis, 'icon_ana'), } for module in modules: if [ line for line in lines if module in ' '.join(line.split()) and not line.strip().startswith("#") ]: widget, icon_name = modules[module] break widget, icon_name = modules[LINE_ANALYSIS] item = QListWidgetItem(widget) item.setFlags(Qt.ItemIsSelectable | Qt.ItemIsEditable | Qt.ItemIsDragEnabled | Qt.ItemIsUserCheckable | Qt.ItemIsEnabled) item.setText(project) item.previous_name = project item.path = project_dir icon = QIcon() icon.addFile(f"bci:/primary/{icon_name}.svg", QSize(), QIcon.Normal, QIcon.Off) item.setIcon(icon) item.icon_name = icon_name
def clean_view(self): self.viewList.clear() origin = QListWidgetItem(_('Keine Historie Einträge'), self.viewList) origin.setIcon(IconRsc.get_icon('history'))