From eda749d7cb08a00fde5c85c0e60cee7ab190f70f Mon Sep 17 00:00:00 2001 From: John Preston Date: Wed, 12 Feb 2025 17:00:39 +0400 Subject: [PATCH] Show correct shortcut text on macOS. --- .../SourceFiles/settings/settings_shortcuts.cpp | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/Telegram/SourceFiles/settings/settings_shortcuts.cpp b/Telegram/SourceFiles/settings/settings_shortcuts.cpp index e61bffd3119ea..f5c0aa161df97 100644 --- a/Telegram/SourceFiles/settings/settings_shortcuts.cpp +++ b/Telegram/SourceFiles/settings/settings_shortcuts.cpp @@ -112,6 +112,17 @@ struct Labeled { }; } +[[nodiscard]] QString ToString(const QKeySequence &key) { + auto result = key.toString(); +#ifdef Q_OS_MAC + result = result.replace(u"Ctrl+"_q, QString() + QChar(0x2318)); + result = result.replace(u"Meta+"_q, QString() + QChar(0x2303)); + result = result.replace(u"Alt+"_q, QString() + QChar(0x2325)); + result = result.replace(u"Shift+"_q, QString() + QChar(0x21E7)); +#endif // Q_OS_MAC + return result; +} + [[nodiscard]] Fn SetupShortcutsContent( not_null controller, not_null content) { @@ -233,9 +244,9 @@ struct Labeled { ? TextWithEntities() : removed ? Ui::Text::Wrapped( - TextWithEntities{ key.toString() }, + TextWithEntities{ ToString(key) }, EntityType::StrikeOut) - : TextWithEntities{ key.toString() }); + : TextWithEntities{ ToString(key) }); keys->setTextColorOverride((recording == raw) ? st::boxTextFgGood->c : removed