2
0
mirror of https://github.com/telegramdesktop/tdesktop synced 2025-09-05 08:55:59 +00:00

Add keyboard navigation to top peers.

This commit is contained in:
John Preston
2024-04-11 13:55:38 +04:00
parent a6c1def6fe
commit e1c21b908c
5 changed files with 162 additions and 7 deletions

View File

@@ -100,6 +100,43 @@ Suggestions::Suggestions(
Suggestions::~Suggestions() = default;
void Suggestions::selectSkip(int delta) {
if (!delta) {
return;
} else if (delta > 0) {
const auto hasRecent = false;
if (hasRecent && (_topPeers->selectedByKeyboard() || delta > 1)) {
_topPeers->deselectByKeyboard();
} else {
_topPeers->selectByKeyboard(0);
}
} else {
if (_topPeers->selectedByKeyboard()) {
_topPeers->deselectByKeyboard();
}
}
}
void Suggestions::selectSkipPage(int height, int direction) {
if (_topPeers->selectedByKeyboard()) {
_topPeers->deselectByKeyboard();
}
}
void Suggestions::chooseRow() {
if (_topPeers->chooseRow()) {
return;
}
}
void Suggestions::selectLeft() {
_topPeers->selectLeft();
}
void Suggestions::selectRight() {
_topPeers->selectRight();
}
void Suggestions::paintEvent(QPaintEvent *e) {
QPainter(this).fillRect(e->rect(), st::windowBg);
}