MCPcopy Create free account
hub / github.com/KDE/labplot / checkFileName

Method checkFileName

src/frontend/datasources/DatasetMetadataManagerWidget.cpp:131–176  ·  view source on GitHub ↗

* @brief Checks whether leFileName contains a valid file name. */

Source from the content-addressed store, hash-verified

129 * @brief Checks whether leFileName contains a valid file name.
130 */
131bool 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.

Callers

nothing calls this directly

Calls 7

setToolTipMethod · 0.80
allDatasetsListMethod · 0.80
QStringClass · 0.50
textMethod · 0.45
isEmptyMethod · 0.45
setColorMethod · 0.45
containsMethod · 0.45

Tested by

no test coverage detected