Try with QList

This commit is contained in:
Ilya Fedin 2021-10-20 10:08:43 +04:00 committed by John Preston
parent 93987b3703
commit 004270ebd0
2 changed files with 3 additions and 11 deletions

View file

@ -2028,7 +2028,7 @@ bool IsMentionLink(QStringView link) {
|| (tag == Ui::InputField::kTagPre); || (tag == Ui::InputField::kTagPre);
} }
QString JoinTag(const QVector<QStringView> &list) { QString JoinTag(const QList<QStringView> &list) {
if (list.isEmpty()) { if (list.isEmpty()) {
return QString(); return QString();
} }
@ -2051,11 +2051,7 @@ QString TagWithRemoved(const QString &tag, const QString &removed) {
if (tag == removed) { if (tag == removed) {
return QString(); return QString();
} }
#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
auto list = QStringView(tag).split('|'); auto list = QStringView(tag).split('|');
#else // Qt >= 6.0.0
auto list = QStringView(tag).split('|').toVector();
#endif // Qt < 6.0.0
list.erase(ranges::remove(list, QStringView(removed)), list.end()); list.erase(ranges::remove(list, QStringView(removed)), list.end());
return JoinTag(list); return JoinTag(list);
} }
@ -2064,17 +2060,13 @@ QString TagWithAdded(const QString &tag, const QString &added) {
if (tag.isEmpty() || tag == added) { if (tag.isEmpty() || tag == added) {
return added; return added;
} }
#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
auto list = QStringView(tag).split('|'); auto list = QStringView(tag).split('|');
#else // Qt >= 6.0.0
auto list = QStringView(tag).split('|').toVector();
#endif // Qt < 6.0.0
const auto ref = QStringView(added); const auto ref = QStringView(added);
if (list.contains(ref)) { if (list.contains(ref)) {
return tag; return tag;
} }
list.push_back(ref); list.push_back(ref);
ranges::sort(list); std::sort(list.begin(), list.end());
return JoinTag(list); return JoinTag(list);
} }

View file

@ -362,7 +362,7 @@ inline const auto kMentionTagStart = qstr("mention://user.");
[[nodiscard]] bool IsMentionLink(QStringView link); [[nodiscard]] bool IsMentionLink(QStringView link);
[[nodiscard]] bool IsSeparateTag(QStringView tag); [[nodiscard]] bool IsSeparateTag(QStringView tag);
[[nodiscard]] QString JoinTag(const QVector<QStringView> &list); [[nodiscard]] QString JoinTag(const QList<QStringView> &list);
[[nodiscard]] QString TagWithRemoved( [[nodiscard]] QString TagWithRemoved(
const QString &tag, const QString &tag,
const QString &removed); const QString &removed);