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);
}
QString JoinTag(const QVector<QStringView> &list) {
QString JoinTag(const QList<QStringView> &list) {
if (list.isEmpty()) {
return QString();
}
@ -2051,11 +2051,7 @@ QString TagWithRemoved(const QString &tag, const QString &removed) {
if (tag == removed) {
return QString();
}
#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
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());
return JoinTag(list);
}
@ -2064,17 +2060,13 @@ QString TagWithAdded(const QString &tag, const QString &added) {
if (tag.isEmpty() || tag == added) {
return added;
}
#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
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);
if (list.contains(ref)) {
return tag;
}
list.push_back(ref);
ranges::sort(list);
std::sort(list.begin(), list.end());
return JoinTag(list);
}

View file

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