From d9d1cb0b7571807e1f21f1cad7909a45e2a81c81 Mon Sep 17 00:00:00 2001 From: RadRussianRus Date: Sun, 11 Sep 2022 03:26:20 +0300 Subject: [PATCH] [Improvement] Shortcut to save draft --- Telegram/SourceFiles/core/shortcuts.cpp | 5 +++++ Telegram/SourceFiles/core/shortcuts.h | 2 ++ Telegram/SourceFiles/history/history_widget.cpp | 4 ++++ 3 files changed, 11 insertions(+) diff --git a/Telegram/SourceFiles/core/shortcuts.cpp b/Telegram/SourceFiles/core/shortcuts.cpp index 1f384ac3d..e81dcbae3 100644 --- a/Telegram/SourceFiles/core/shortcuts.cpp +++ b/Telegram/SourceFiles/core/shortcuts.cpp @@ -108,6 +108,8 @@ const auto CommandByName = base::flat_map{ { u"show_scheduled"_q , Command::ShowScheduled }, { u"archive_chat"_q , Command::ArchiveChat }, // + + { qsl("save_draft") , Command::SaveDraft }, }; const auto CommandNames = base::flat_map{ @@ -147,6 +149,8 @@ const auto CommandNames = base::flat_map{ { Command::ShowContacts , u"show_contacts"_q }, { Command::ReadChat , u"read_chat"_q }, + + { Command::SaveDraft , u"save_draft"_q }, }; [[maybe_unused]] constexpr auto kNoValue = { @@ -435,6 +439,7 @@ void Manager::fillDefaults() { set(u"ctrl+j"_q, Command::ShowContacts); set(u"ctrl+r"_q, Command::ReadChat); + set(u"ctrl+s"_q, Command::SaveDraft); } void Manager::writeDefaultFile() { diff --git a/Telegram/SourceFiles/core/shortcuts.h b/Telegram/SourceFiles/core/shortcuts.h index 562c54e44..bb9d00c32 100644 --- a/Telegram/SourceFiles/core/shortcuts.h +++ b/Telegram/SourceFiles/core/shortcuts.h @@ -76,6 +76,8 @@ enum class Command { SupportScrollToCurrent, SupportHistoryBack, SupportHistoryForward, + + SaveDraft, }; [[maybe_unused]] constexpr auto kShowFolder = { diff --git a/Telegram/SourceFiles/history/history_widget.cpp b/Telegram/SourceFiles/history/history_widget.cpp index 753f9c565..d2dc59bfa 100644 --- a/Telegram/SourceFiles/history/history_widget.cpp +++ b/Telegram/SourceFiles/history/history_widget.cpp @@ -2048,6 +2048,10 @@ void HistoryWidget::setupShortcuts() { return true; }); } + request->check(Command::SaveDraft, 1) && request->handle([=] { + saveCloudDraft(); + return true; + }); }, lifetime()); }