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

some fixes in navigation

This commit is contained in:
John Preston
2015-02-09 23:19:48 +00:00
parent a5d2558f5a
commit 00f0a70454
6 changed files with 47 additions and 17 deletions

View File

@@ -192,9 +192,6 @@ void DialogsListWidget::peopleResultPaint(UserData *user, QPainter &p, int32 w,
}
void DialogsListWidget::activate() {
if (_state == DefaultState && !sel) {
selectSkip(1);
}
}
void DialogsListWidget::mouseMoveEvent(QMouseEvent *e) {
@@ -728,6 +725,10 @@ DialogsListWidget::State DialogsListWidget::state() const {
return _state;
}
bool DialogsListWidget::hasFilteredResults() const {
return !filterResults.isEmpty();
}
void DialogsListWidget::clearFilter() {
if (_state == FilteredState || _state == SearchedState) {
_state = DefaultState;
@@ -1591,8 +1592,13 @@ void DialogsWidget::keyPressEvent(QKeyEvent *e) {
if (e->key() == Qt::Key_Escape) {
e->ignore();
} else if (e->key() == Qt::Key_Return || e->key() == Qt::Key_Enter) {
if (!list.choosePeer() && (list.state() == DialogsListWidget::SearchedState || list.state() == DialogsListWidget::FilteredState)) {
onSearchMessages();
if (!list.choosePeer()) {
if (list.state() == DialogsListWidget::DefaultState || list.state() == DialogsListWidget::SearchedState || (list.state() == DialogsListWidget::FilteredState && list.hasFilteredResults())) {
list.selectSkip(1);
list.choosePeer();
} else {
onSearchMessages();
}
}
} else if (e->key() == Qt::Key_Down) {
list.setMouseSel(false);