def verify_fields(self): if self.path is None: return False else: strings = [self.edit_url, self.edit_name.text(), self.path] regex_validate = QRegExp('*.mp3') regex_validate.setPatternSyntax(QRegExp.Wildcard) emptys = 0 for string in strings: if len(string.split()) == 0: emptys += 1 if emptys == 0 and regex_validate.exactMatch( self.edit_url.text()): return True
def generateNewAnalysisName() -> str: prev_analysis = HistoryManager.analysisList() regexp = QRegExp("^Analyse de la plongée #[0-9]+$") match = [] for pa in prev_analysis: if regexp.exactMatch(pa["name"]): match.append(int(pa["name"].lstrip("Analyse de la plongée #"))) next_number = len(prev_analysis) if len(match): next_number = max(max(match), next_number) next_number += 1 return "Analyse de la plongée #%d" % (next_number)
def _renameItem(self): item = self._list.currentItem() input_dialog = QInputDialog(self.parentWidget(), Qt.WindowSystemMenuHint | Qt.WindowTitleHint | Qt.WindowCloseButtonHint) font = input_dialog.font() font.setPixelSize(16) input_dialog.setFont(font) input_dialog.setMinimumWidth(300) input_dialog.setInputMode(QInputDialog.TextInput) input_dialog.setWindowTitle("Renommer l'analyse") input_dialog.setLabelText("Nouveau nom pour '%s' :" % item.data(Qt.UserRole + 1)) input_dialog.setTextValue(item.data(Qt.UserRole + 1)) input_dialog.setOkButtonText("OK") input_dialog.setCancelButtonText("Annuler") if not input_dialog.exec_(): return new_name = input_dialog.textValue() if self._analysis is None: return if new_name == self._analysis.parameters().name(): return regexp = QRegExp("^[a-zA-Z0-9_-#éèêëàîï ]{5,30}$") if not regexp.exactMatch(new_name): QMessageBox.warning(self, "Nouveau nom invalide", "Caractères autorisés : alphanumérique, espace, #, - et _ avec une longueur maximale de 30 caractères") return self._analysis.parameters().setName(new_name) HistoryManager.renameAnalysis(item.data(Qt.UserRole), self._analysis) current_row = self._list.currentRow() self.reset(self._analysis) self._list.setCurrentRow(current_row) self.currentAnalysisChanged.emit(self._analysis)