diff options
author | David Schulz <david.schulz@qt.io> | 2020-08-12 07:13:34 +0200 |
---|---|---|
committer | David Schulz <david.schulz@qt.io> | 2020-08-14 09:17:52 +0000 |
commit | 6bed13db89145cb9306f700ad56a0ef8da974aa8 (patch) | |
tree | 19df6881ad5ca39ed4d563378fc20701d91765c7 /src/plugins/texteditor/snippets/snippetssettingspage.cpp | |
parent | 30cdae912f1ab7c0960d172189a69b6893d185eb (diff) | |
download | qt-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.cpp | 21 |
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 { |