From 8bea6776f549c570ec7aaf03faf9a65bce829439 Mon Sep 17 00:00:00 2001 From: 23rd <23rd@vivaldi.net> Date: Mon, 24 Jan 2022 19:58:35 +0300 Subject: [PATCH] Replaced checking global key modifiers with qt adapters. --- Telegram/SourceFiles/chat_helpers/gifs_list_widget.cpp | 4 ++-- Telegram/SourceFiles/core/click_handler_types.cpp | 6 ++---- Telegram/SourceFiles/history/history_item_components.cpp | 3 ++- Telegram/SourceFiles/history/history_widget.cpp | 4 ++-- .../history/view/history_view_pinned_section.cpp | 4 ++-- .../history/view/history_view_replies_section.cpp | 4 ++-- .../history/view/history_view_schedule_box.cpp | 9 +++------ Telegram/lib_base | 2 +- 8 files changed, 16 insertions(+), 20 deletions(-) diff --git a/Telegram/SourceFiles/chat_helpers/gifs_list_widget.cpp b/Telegram/SourceFiles/chat_helpers/gifs_list_widget.cpp index fa91ecc26..6fc3c07f0 100644 --- a/Telegram/SourceFiles/chat_helpers/gifs_list_widget.cpp +++ b/Telegram/SourceFiles/chat_helpers/gifs_list_widget.cpp @@ -9,6 +9,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL #include "api/api_toggling_media.h" // Api::ToggleSavedGif #include "base/const_string.h" +#include "base/qt/qt_key_modifiers.h" #include "data/data_photo.h" #include "data/data_document.h" #include "data/data_session.h" @@ -437,8 +438,7 @@ void GifsListWidget::selectInlineResult( return; } - forceSend |= (QGuiApplication::keyboardModifiers() - == Qt::ControlModifier); + forceSend |= base::IsCtrlPressed(); if (const auto photo = item->getPhoto()) { using Data::PhotoSize; const auto media = photo->activeMediaView(); diff --git a/Telegram/SourceFiles/core/click_handler_types.cpp b/Telegram/SourceFiles/core/click_handler_types.cpp index e920e8eb1..5cbdea553 100644 --- a/Telegram/SourceFiles/core/click_handler_types.cpp +++ b/Telegram/SourceFiles/core/click_handler_types.cpp @@ -17,6 +17,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL #include "ui/text/text_entity.h" #include "ui/toast/toast.h" #include "base/qthelp_regex.h" +#include "base/qt/qt_key_modifiers.h" #include "storage/storage_account.h" #include "history/history.h" #include "history/view/history_view_element.h" @@ -26,8 +27,6 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL #include "window/window_session_controller.h" #include "facades.h" -#include - namespace { void SearchByHashtag(ClickContext context, const QString &tag) { @@ -101,8 +100,7 @@ void HiddenUrlClickHandler::Open(QString url, QVariant context) { open(); } else { const auto parsedUrl = QUrl::fromUserInput(url); - if (UrlRequiresConfirmation(parsedUrl) - && QGuiApplication::keyboardModifiers() != Qt::ControlModifier) { + if (UrlRequiresConfirmation(parsedUrl) && !base::IsCtrlPressed()) { Core::App().hideMediaView(); const auto displayed = parsedUrl.isValid() ? parsedUrl.toDisplayString() diff --git a/Telegram/SourceFiles/history/history_item_components.cpp b/Telegram/SourceFiles/history/history_item_components.cpp index 3fdb3971a..d29fd2f05 100644 --- a/Telegram/SourceFiles/history/history_item_components.cpp +++ b/Telegram/SourceFiles/history/history_item_components.cpp @@ -7,6 +7,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL */ #include "history/history_item_components.h" +#include "base/qt/qt_key_modifiers.h" #include "lang/lang_keys.h" #include "ui/effects/ripple_animation.h" #include "ui/image/image.h" @@ -53,7 +54,7 @@ void HistoryMessageVia::create( tr::lng_inline_bot_via(tr::now, lt_inline_bot, '@' + bot->username)); link = std::make_shared([bot = this->bot]( ClickContext context) { - if (QGuiApplication::keyboardModifiers() == Qt::ControlModifier) { + if (base::IsCtrlPressed()) { if (const auto window = App::wnd()) { if (const auto controller = window->sessionController()) { controller->showPeerInfo(bot); diff --git a/Telegram/SourceFiles/history/history_widget.cpp b/Telegram/SourceFiles/history/history_widget.cpp index af41bc64f..566f34ac5 100644 --- a/Telegram/SourceFiles/history/history_widget.cpp +++ b/Telegram/SourceFiles/history/history_widget.cpp @@ -47,6 +47,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL #include "inline_bots/inline_bot_result.h" #include "base/event_filter.h" #include "base/qt_signal_producer.h" +#include "base/qt/qt_key_modifiers.h" #include "base/unixtime.h" #include "base/call_delayed.h" #include "data/data_changes.h" @@ -150,7 +151,6 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL #include "styles/style_chat_helpers.h" #include "styles/style_info.h" -#include // keyboardModifiers() #include #include @@ -3317,7 +3317,7 @@ void HistoryWidget::windowIsVisibleChanged() { } void HistoryWidget::historyDownClicked() { - if (QGuiApplication::keyboardModifiers() == Qt::ControlModifier) { + if (base::IsCtrlPressed()) { showHistory(_peer->id, ShowAtUnreadMsgId); } else if (_replyReturn && _replyReturn->history() == _history) { showHistory(_peer->id, _replyReturn->id); diff --git a/Telegram/SourceFiles/history/view/history_view_pinned_section.cpp b/Telegram/SourceFiles/history/view/history_view_pinned_section.cpp index f3cf35052..901b6944c 100644 --- a/Telegram/SourceFiles/history/view/history_view_pinned_section.cpp +++ b/Telegram/SourceFiles/history/view/history_view_pinned_section.cpp @@ -31,6 +31,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL #include "window/window_peer_menu.h" #include "base/event_filter.h" #include "base/call_delayed.h" +#include "base/qt/qt_key_modifiers.h" #include "core/file_utilities.h" #include "main/main_session.h" #include "data/data_session.h" @@ -51,7 +52,6 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL #include "styles/style_boxes.h" #include -#include namespace HistoryView { namespace { @@ -204,7 +204,7 @@ void PinnedWidget::setupClearButton() { } void PinnedWidget::scrollDownClicked() { - if (QGuiApplication::keyboardModifiers() == Qt::ControlModifier) { + if (base::IsCtrlPressed()) { showAtEnd(); //} else if (_replyReturn) { // showAtPosition(_replyReturn->position()); diff --git a/Telegram/SourceFiles/history/view/history_view_replies_section.cpp b/Telegram/SourceFiles/history/view/history_view_replies_section.cpp index d286d95f8..a6428e7e9 100644 --- a/Telegram/SourceFiles/history/view/history_view_replies_section.cpp +++ b/Telegram/SourceFiles/history/view/history_view_replies_section.cpp @@ -46,6 +46,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL #include "window/window_peer_menu.h" #include "base/event_filter.h" #include "base/call_delayed.h" +#include "base/qt/qt_key_modifiers.h" #include "core/file_utilities.h" #include "main/main_session.h" #include "data/data_session.h" @@ -67,7 +68,6 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL #include "styles/style_boxes.h" #include -#include namespace HistoryView { namespace { @@ -1265,7 +1265,7 @@ void RepliesWidget::reloadUnreadCountIfNeeded() { } void RepliesWidget::scrollDownClicked() { - if (QGuiApplication::keyboardModifiers() == Qt::ControlModifier) { + if (base::IsCtrlPressed()) { showAtEnd(); } else if (_replyReturn) { showAtPosition(_replyReturn->position()); diff --git a/Telegram/SourceFiles/history/view/history_view_schedule_box.cpp b/Telegram/SourceFiles/history/view/history_view_schedule_box.cpp index 30a328de0..08dcf39c0 100644 --- a/Telegram/SourceFiles/history/view/history_view_schedule_box.cpp +++ b/Telegram/SourceFiles/history/view/history_view_schedule_box.cpp @@ -13,6 +13,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL #include "data/data_scheduled_messages.h" // kScheduledUntilOnlineTimestamp #include "lang/lang_keys.h" #include "base/event_filter.h" +#include "base/qt/qt_key_modifiers.h" #include "base/unixtime.h" #include "ui/widgets/input_fields.h" #include "ui/widgets/labels.h" @@ -26,8 +27,6 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL #include "styles/style_chat.h" #include "styles/style_menu_icons.h" -#include - namespace HistoryView { namespace { @@ -70,11 +69,9 @@ void ScheduleBox( if (!scheduleDate) { return; } - // Pro tip: Hold Ctrl key to send a silent scheduled message! - auto ctrl = - (QGuiApplication::keyboardModifiers() == Qt::ControlModifier); auto result = Api::SendOptions(); - result.silent = silent || ctrl; + // Pro tip: Hold Ctrl key to send a silent scheduled message! + result.silent = silent || base::IsCtrlPressed(); result.scheduled = scheduleDate; const auto copy = done; box->closeBox(); diff --git a/Telegram/lib_base b/Telegram/lib_base index 5abb2ff9b..136d2eb5b 160000 --- a/Telegram/lib_base +++ b/Telegram/lib_base @@ -1 +1 @@ -Subproject commit 5abb2ff9b563ef4b12672a96000de7b642060eb3 +Subproject commit 136d2eb5bc0e26774bcf2611e0a4ac46dfb73388