* @brief Checks whether leFileName contains a valid file name. */
| 129 | * @brief Checks whether leFileName contains a valid file name. |
| 130 | */ |
| 131 | bool DatasetMetadataManagerWidget::checkFileName() { |
| 132 | const QString fileName = ui.leFileName->text(); |
| 133 | |
| 134 | // check whether it contains only digits, letters, -, _ or not |
| 135 | const QRegularExpression re(QLatin1String("^[\\w\\d-]+$")); |
| 136 | const QRegularExpressionMatch match = re.match(fileName); |
| 137 | bool hasMatch = match.hasMatch(); |
| 138 | |
| 139 | if (!hasMatch || fileName.isEmpty()) { |
| 140 | DEBUG("File name invalid"); |
| 141 | QPalette palette; |
| 142 | palette.setColor(QPalette::Base, Qt::red); |
| 143 | palette.setColor(QPalette::Text, Qt::black); |
| 144 | ui.leFileName->setPalette(palette); |
| 145 | ui.leFileName->setToolTip(QStringLiteral("Invalid name for a file (it can contain:digits, letters, -, _)")); |
| 146 | } else { |
| 147 | QPalette palette; |
| 148 | palette.setColor(QPalette::Base, m_baseColor); |
| 149 | palette.setColor(QPalette::Text, m_textColor); |
| 150 | ui.leFileName->setPalette(palette); |
| 151 | ui.leFileName->setToolTip(QString()); |
| 152 | } |
| 153 | |
| 154 | // check whether there already is a file named like this or not. |
| 155 | bool found = false; |
| 156 | |
| 157 | if (m_datasetModel->allDatasetsList().toStringList().contains(fileName)) { |
| 158 | DEBUG("There already is a metadata file with this name"); |
| 159 | QPalette palette; |
| 160 | palette.setColor(QPalette::Base, Qt::red); |
| 161 | palette.setColor(QPalette::Text, Qt::black); |
| 162 | ui.leFileName->setPalette(palette); |
| 163 | ui.leFileName->setToolTip(QStringLiteral("There already is a dataset metadata file with this name!")); |
| 164 | found = true; |
| 165 | } else { |
| 166 | if (hasMatch) { |
| 167 | QPalette palette; |
| 168 | palette.setColor(QPalette::Base, m_baseColor); |
| 169 | palette.setColor(QPalette::Text, m_textColor); |
| 170 | ui.leFileName->setPalette(palette); |
| 171 | ui.leFileName->setToolTip(QString()); |
| 172 | } |
| 173 | } |
| 174 | |
| 175 | return hasMatch && !found; |
| 176 | } |
| 177 | |
| 178 | /** |
| 179 | * @brief Checks whether leDownloadURL contains a valid URL. |
nothing calls this directly
no test coverage detected