예제 #1
0
 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
예제 #2
0
    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)
예제 #3
0
    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)