mirror of
https://github.com/Chatterino/chatterino2.git
synced 2024-11-13 19:49:51 +01:00
Use same sorting method in emote popup as in the completion model
Fixes #1549
This commit is contained in:
parent
b93de7c0f6
commit
64c58e724a
4
CHANGELOG.md
Normal file
4
CHANGELOG.md
Normal file
|
@ -0,0 +1,4 @@
|
|||
# Changelog
|
||||
|
||||
## Unversioned
|
||||
- Minor: Emotes in the emote popup are now sorted in the same order as the tab completion (#1549)
|
|
@ -38,13 +38,7 @@ bool CompletionModel::TaggedString::operator<(const TaggedString &that) const
|
|||
return this->isEmote();
|
||||
}
|
||||
|
||||
// try comparing insensitively, if they are the same then senstively
|
||||
// (fixes order of LuL and LUL)
|
||||
int k = QString::compare(this->string, that.string, Qt::CaseInsensitive);
|
||||
if (k == 0)
|
||||
return this->string > that.string;
|
||||
|
||||
return k < 0;
|
||||
return CompletionModel::compareStrings(this->string, that.string);
|
||||
}
|
||||
|
||||
//
|
||||
|
@ -191,4 +185,15 @@ void CompletionModel::refresh(const QString &prefix, bool isFirstWord)
|
|||
}
|
||||
}
|
||||
|
||||
bool CompletionModel::compareStrings(const QString &a, const QString &b)
|
||||
{
|
||||
// try comparing insensitively, if they are the same then senstively
|
||||
// (fixes order of LuL and LUL)
|
||||
int k = QString::compare(a, b, Qt::CaseInsensitive);
|
||||
if (k == 0)
|
||||
return a > b;
|
||||
|
||||
return k < 0;
|
||||
}
|
||||
|
||||
} // namespace chatterino
|
||||
|
|
|
@ -49,6 +49,8 @@ public:
|
|||
|
||||
void refresh(const QString &prefix, bool isFirstWord = false);
|
||||
|
||||
static bool compareStrings(const QString &a, const QString &b);
|
||||
|
||||
private:
|
||||
TaggedString createUser(const QString &str);
|
||||
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
#include "EmotePopup.hpp"
|
||||
|
||||
#include "Application.hpp"
|
||||
#include "common/CompletionModel.hpp"
|
||||
#include "controllers/accounts/AccountController.hpp"
|
||||
#include "debug/Benchmark.hpp"
|
||||
#include "messages/Message.hpp"
|
||||
|
@ -37,7 +38,8 @@ namespace {
|
|||
std::sort(vec.begin(), vec.end(),
|
||||
[](const std::pair<EmoteName, EmotePtr> &l,
|
||||
const std::pair<EmoteName, EmotePtr> &r) {
|
||||
return l.first.string < r.first.string;
|
||||
return CompletionModel::compareStrings(
|
||||
l.first.string, r.first.string);
|
||||
});
|
||||
for (const auto &emote : vec)
|
||||
{
|
||||
|
|
Loading…
Reference in a new issue