diff --git a/Telegram/SourceFiles/settings/settings_shortcuts.cpp b/Telegram/SourceFiles/settings/settings_shortcuts.cpp index e61bffd31..f5c0aa161 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<void()> SetupShortcutsContent( not_null<Window::SessionController*> controller, not_null<Ui::VerticalLayout*> 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