Add one more moderate hotkey.

This commit is contained in:
John Preston 2020-07-01 22:19:33 +04:00
parent 90c6ff3e41
commit b1554782fb
2 changed files with 15 additions and 9 deletions

View file

@ -161,12 +161,14 @@ bool BotKeyboard::moderateKeyActivate(int key) {
App::activateBotCommand(item, 0, index); App::activateBotCommand(item, 0, index);
return true; return true;
} }
} else if (key == Qt::Key_Q) { } else if (const auto user = item->history()->peer->asUser()) {
if (const auto user = item->history()->peer->asUser()) { if (user->isBot() && item->from() == user) {
if (user->isBot() && item->from() == user) { if (key == Qt::Key_Q) {
App::sendBotCommand(user, user, qsl("/translate")); App::sendBotCommand(user, user, qsl("/translate"));
return true; } else if (key == Qt::Key_W) {
App::sendBotCommand(user, user, qsl("/eng"));
} }
return true;
} }
} }
} }

View file

@ -571,16 +571,20 @@ bool FieldAutocomplete::eventFilter(QObject *obj, QEvent *e) {
if (e->type() == QEvent::KeyPress) { if (e->type() == QEvent::KeyPress) {
QKeyEvent *ev = static_cast<QKeyEvent*>(e); QKeyEvent *ev = static_cast<QKeyEvent*>(e);
if (!(ev->modifiers() & (Qt::AltModifier | Qt::ControlModifier | Qt::ShiftModifier | Qt::MetaModifier))) { if (!(ev->modifiers() & (Qt::AltModifier | Qt::ControlModifier | Qt::ShiftModifier | Qt::MetaModifier))) {
const auto key = ev->key();
if (!hidden) { if (!hidden) {
if (ev->key() == Qt::Key_Up || ev->key() == Qt::Key_Down || (!_srows.empty() && (ev->key() == Qt::Key_Left || ev->key() == Qt::Key_Right))) { if (key == Qt::Key_Up || key == Qt::Key_Down || (!_srows.empty() && (key == Qt::Key_Left || key == Qt::Key_Right))) {
return _inner->moveSel(ev->key()); return _inner->moveSel(key);
} else if (ev->key() == Qt::Key_Enter || ev->key() == Qt::Key_Return) { } else if (key == Qt::Key_Enter || key == Qt::Key_Return) {
return _inner->chooseSelected(ChooseMethod::ByEnter); return _inner->chooseSelected(ChooseMethod::ByEnter);
} }
} }
if (moderate && ((ev->key() >= Qt::Key_1 && ev->key() <= Qt::Key_9) || ev->key() == Qt::Key_Q)) { if (moderate
&& ((key >= Qt::Key_1 && key <= Qt::Key_9)
|| key == Qt::Key_Q
|| key == Qt::Key_W)) {
bool handled = false; bool handled = false;
emit moderateKeyActivate(ev->key(), &handled); emit moderateKeyActivate(key, &handled);
return handled; return handled;
} }
} }