def update_gui(new_files): len_files_old = len( self.main.settings_custom['files']['files_open']) for new_file in new_files: file_names = [ file['name'] for file in self.main.settings_custom['files'] ['files_open'] ] new_file['name'] = new_file[ 'name_old'] = wl_checking_misc.check_new_name( new_file['name'], file_names) self.main.settings_custom['files']['files_open'].append( new_file) self.update_table() len_files_new = len( self.main.settings_custom['files']['files_open']) if len_files_new - len_files_old == 0: self.main.statusBar().showMessage('No files are newly opened!') elif len_files_new - len_files_old == 1: self.main.statusBar().showMessage( '1 file has been successfully opened.') else: self.main.statusBar().showMessage( f'{len_files_new - len_files_old} files have been successfully opened.' )
def _add_item(self, text='', row=None): if text: item_text = wl_checking_misc.check_new_name( text, self.model().stringList()) else: item_text = wl_checking_misc.check_new_name( self.new_item_text, self.model().stringList()) data = self.model().stringList() if row is None: data.append(item_text) self.items_old.append(item_text) else: data.insert(row, item_text) self.items_old.insert(row, item_text) self.model().setStringList(data) self.model().dataChanged.emit(QModelIndex(), QModelIndex())
def _add_row(self, row=None, texts=None): if texts is None: type_, level, opening_tag, _ = self.defaults_row # HTML tags if opening_tag.startswith('<') and opening_tag.endswith('>'): opening_tags = [ re.sub(r'^<|>$', r'', self.model().item(i, 2).text()) for i in range(self.model().rowCount()) ] opening_tag = f"<{wl_checking_misc.check_new_name(opening_tag[1:-1], opening_tags, separator = '')}>" else: opening_tags = [ self.model().item(i, 2).text() for i in range(self.model().rowCount()) ] opening_tag = wl_checking_misc.check_new_name(opening_tag, opening_tags, separator='') opening_tag = re.sub(r'\s\(([0-9]+)\)', r'\1', opening_tag) else: type_, level, opening_tag, _ = texts item_opening_tag = QStandardItem(opening_tag) item_opening_tag.text_old = opening_tag if row is None: self.model().appendRow([ QStandardItem(type_), QStandardItem(level), item_opening_tag, QStandardItem(), QStandardItem() ]) else: self.model().insertRow(row, [ QStandardItem(type_), QStandardItem(level), item_opening_tag, QStandardItem(), QStandardItem() ]) self.model().itemChanged.emit(item_opening_tag)
def _add_items(self, texts, row=None): data = self.model().stringList() texts = [ wl_checking_misc.check_new_name(text, data) for text in list(dict.fromkeys(texts)) ] if row is None: data.extend(texts) self.items_old.extend(texts) self.model().setStringList(data) else: data[row:row] = texts self.items_old[row:row] = texts self.model().setStringList(data) self.model().dataChanged.emit(QModelIndex(), QModelIndex())
def test_check_new_name(): assert wl_checking_misc.check_new_name('new_name', ['new_name', 'new_name (2)', 'new_name (4)']) == 'new_name (3)'