summaryrefslogtreecommitdiff
path: root/src/plugins/texteditor/snippets/snippetssettingspage.cpp
diff options
context:
space:
mode:
authorDavid Schulz <david.schulz@qt.io>2020-08-12 07:13:34 +0200
committerDavid Schulz <david.schulz@qt.io>2020-08-14 09:17:52 +0000
commit6bed13db89145cb9306f700ad56a0ef8da974aa8 (patch)
tree19df6881ad5ca39ed4d563378fc20701d91765c7 /src/plugins/texteditor/snippets/snippetssettingspage.cpp
parent30cdae912f1ab7c0960d172189a69b6893d185eb (diff)
downloadqt-creator-6bed13db89145cb9306f700ad56a0ef8da974aa8.tar.gz
Editor: Validate trigger from snippets xml
Fixes: QTCREATORBUG-24415 Change-Id: Ic99355220bf1948af8a17d6ce017924eba3fc3ba Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Diffstat (limited to 'src/plugins/texteditor/snippets/snippetssettingspage.cpp')
-rw-r--r--src/plugins/texteditor/snippets/snippetssettingspage.cpp21
1 files changed, 7 insertions, 14 deletions
diff --git a/src/plugins/texteditor/snippets/snippetssettingspage.cpp b/src/plugins/texteditor/snippets/snippetssettingspage.cpp
index 3ad2289f9f..802c9e456e 100644
--- a/src/plugins/texteditor/snippets/snippetssettingspage.cpp
+++ b/src/plugins/texteditor/snippets/snippetssettingspage.cpp
@@ -79,7 +79,6 @@ public:
private:
void replaceSnippet(const Snippet &snippet, const QModelIndex &modelIndex);
- static bool isValidTrigger(const QString &s);
SnippetsCollection* m_collection;
QString m_activeGroupId;
@@ -130,9 +129,13 @@ bool SnippetsTableModel::setData(const QModelIndex &modelIndex, const QVariant &
Snippet snippet(m_collection->snippet(modelIndex.row(), m_activeGroupId));
if (modelIndex.column() == 0) {
const QString &s = value.toString();
- if (!isValidTrigger(s)) {
- QMessageBox::critical(Core::ICore::dialogParent(), tr("Error"),
- tr("Not a valid trigger."));
+ if (!Snippet::isValidTrigger(s)) {
+ QMessageBox::critical(
+ Core::ICore::dialogParent(),
+ tr("Error"),
+ tr("Not a valid trigger. A valid trigger can only contain letters, "
+ "numbers, or underscores, where the first character is "
+ "limited to letter or underscore."));
if (snippet.trigger().isEmpty())
removeSnippet(modelIndex);
return false;
@@ -251,16 +254,6 @@ void SnippetsTableModel::replaceSnippet(const Snippet &snippet, const QModelInde
}
}
-bool SnippetsTableModel::isValidTrigger(const QString &s)
-{
- if (s.isEmpty())
- return false;
- for (int i = 0; i < s.length(); ++i)
- if (!s.at(i).isLetter() && s.at(i) != QLatin1Char('_') && (!s.at(i).isDigit() || i == 0))
- return false;
- return true;
-}
-
// SnippetsSettingsPagePrivate
class SnippetsSettingsPagePrivate : public QObject
{