diff --git a/Telegram/Resources/icons/settings/account.png b/Telegram/Resources/icons/settings/account.png new file mode 100644 index 000000000..cbb8fffcd Binary files /dev/null and b/Telegram/Resources/icons/settings/account.png differ diff --git a/Telegram/Resources/icons/settings/account@2x.png b/Telegram/Resources/icons/settings/account@2x.png new file mode 100644 index 000000000..a893c53b1 Binary files /dev/null and b/Telegram/Resources/icons/settings/account@2x.png differ diff --git a/Telegram/Resources/icons/settings/account@3x.png b/Telegram/Resources/icons/settings/account@3x.png new file mode 100644 index 000000000..493007fd6 Binary files /dev/null and b/Telegram/Resources/icons/settings/account@3x.png differ diff --git a/Telegram/Resources/icons/settings/advanced.png b/Telegram/Resources/icons/settings/advanced.png new file mode 100644 index 000000000..d56476381 Binary files /dev/null and b/Telegram/Resources/icons/settings/advanced.png differ diff --git a/Telegram/Resources/icons/settings/advanced@2x.png b/Telegram/Resources/icons/settings/advanced@2x.png new file mode 100644 index 000000000..7f7872d33 Binary files /dev/null and b/Telegram/Resources/icons/settings/advanced@2x.png differ diff --git a/Telegram/Resources/icons/settings/advanced@3x.png b/Telegram/Resources/icons/settings/advanced@3x.png new file mode 100644 index 000000000..88a7d0a58 Binary files /dev/null and b/Telegram/Resources/icons/settings/advanced@3x.png differ diff --git a/Telegram/Resources/icons/settings/ask_question.png b/Telegram/Resources/icons/settings/ask_question.png new file mode 100644 index 000000000..311553669 Binary files /dev/null and b/Telegram/Resources/icons/settings/ask_question.png differ diff --git a/Telegram/Resources/icons/settings/ask_question@2x.png b/Telegram/Resources/icons/settings/ask_question@2x.png new file mode 100644 index 000000000..39ef38554 Binary files /dev/null and b/Telegram/Resources/icons/settings/ask_question@2x.png differ diff --git a/Telegram/Resources/icons/settings/ask_question@3x.png b/Telegram/Resources/icons/settings/ask_question@3x.png new file mode 100644 index 000000000..107f94cd6 Binary files /dev/null and b/Telegram/Resources/icons/settings/ask_question@3x.png differ diff --git a/Telegram/Resources/icons/settings/calls.png b/Telegram/Resources/icons/settings/calls.png new file mode 100644 index 000000000..acc767e6e Binary files /dev/null and b/Telegram/Resources/icons/settings/calls.png differ diff --git a/Telegram/Resources/icons/settings/calls@2x.png b/Telegram/Resources/icons/settings/calls@2x.png new file mode 100644 index 000000000..2979b5df9 Binary files /dev/null and b/Telegram/Resources/icons/settings/calls@2x.png differ diff --git a/Telegram/Resources/icons/settings/calls@3x.png b/Telegram/Resources/icons/settings/calls@3x.png new file mode 100644 index 000000000..e46d52239 Binary files /dev/null and b/Telegram/Resources/icons/settings/calls@3x.png differ diff --git a/Telegram/Resources/icons/settings/chat.png b/Telegram/Resources/icons/settings/chat.png new file mode 100644 index 000000000..376c189f1 Binary files /dev/null and b/Telegram/Resources/icons/settings/chat.png differ diff --git a/Telegram/Resources/icons/settings/chat@2x.png b/Telegram/Resources/icons/settings/chat@2x.png new file mode 100644 index 000000000..ef625f1a5 Binary files /dev/null and b/Telegram/Resources/icons/settings/chat@2x.png differ diff --git a/Telegram/Resources/icons/settings/chat@3x.png b/Telegram/Resources/icons/settings/chat@3x.png new file mode 100644 index 000000000..5594a8613 Binary files /dev/null and b/Telegram/Resources/icons/settings/chat@3x.png differ diff --git a/Telegram/Resources/icons/settings/emoji.png b/Telegram/Resources/icons/settings/emoji.png new file mode 100644 index 000000000..70440bfe7 Binary files /dev/null and b/Telegram/Resources/icons/settings/emoji.png differ diff --git a/Telegram/Resources/icons/settings/emoji@2x.png b/Telegram/Resources/icons/settings/emoji@2x.png new file mode 100644 index 000000000..b95369896 Binary files /dev/null and b/Telegram/Resources/icons/settings/emoji@2x.png differ diff --git a/Telegram/Resources/icons/settings/emoji@3x.png b/Telegram/Resources/icons/settings/emoji@3x.png new file mode 100644 index 000000000..2146cb449 Binary files /dev/null and b/Telegram/Resources/icons/settings/emoji@3x.png differ diff --git a/Telegram/Resources/icons/settings/faq.png b/Telegram/Resources/icons/settings/faq.png new file mode 100644 index 000000000..25eff5236 Binary files /dev/null and b/Telegram/Resources/icons/settings/faq.png differ diff --git a/Telegram/Resources/icons/settings/faq@2x.png b/Telegram/Resources/icons/settings/faq@2x.png new file mode 100644 index 000000000..4703e1268 Binary files /dev/null and b/Telegram/Resources/icons/settings/faq@2x.png differ diff --git a/Telegram/Resources/icons/settings/faq@3x.png b/Telegram/Resources/icons/settings/faq@3x.png new file mode 100644 index 000000000..6df95ffba Binary files /dev/null and b/Telegram/Resources/icons/settings/faq@3x.png differ diff --git a/Telegram/Resources/icons/settings/folders.png b/Telegram/Resources/icons/settings/folders.png new file mode 100644 index 000000000..b68f55380 Binary files /dev/null and b/Telegram/Resources/icons/settings/folders.png differ diff --git a/Telegram/Resources/icons/settings/folders@2x.png b/Telegram/Resources/icons/settings/folders@2x.png new file mode 100644 index 000000000..318e36b0f Binary files /dev/null and b/Telegram/Resources/icons/settings/folders@2x.png differ diff --git a/Telegram/Resources/icons/settings/folders@3x.png b/Telegram/Resources/icons/settings/folders@3x.png new file mode 100644 index 000000000..6d4ced4fc Binary files /dev/null and b/Telegram/Resources/icons/settings/folders@3x.png differ diff --git a/Telegram/Resources/icons/settings/interface_scale.png b/Telegram/Resources/icons/settings/interface_scale.png new file mode 100644 index 000000000..4b658fd10 Binary files /dev/null and b/Telegram/Resources/icons/settings/interface_scale.png differ diff --git a/Telegram/Resources/icons/settings/interface_scale@2x.png b/Telegram/Resources/icons/settings/interface_scale@2x.png new file mode 100644 index 000000000..7c49ea83f Binary files /dev/null and b/Telegram/Resources/icons/settings/interface_scale@2x.png differ diff --git a/Telegram/Resources/icons/settings/interface_scale@3x.png b/Telegram/Resources/icons/settings/interface_scale@3x.png new file mode 100644 index 000000000..eb9c96f0a Binary files /dev/null and b/Telegram/Resources/icons/settings/interface_scale@3x.png differ diff --git a/Telegram/Resources/icons/settings/language.png b/Telegram/Resources/icons/settings/language.png new file mode 100644 index 000000000..6c216cb9f Binary files /dev/null and b/Telegram/Resources/icons/settings/language.png differ diff --git a/Telegram/Resources/icons/settings/language@2x.png b/Telegram/Resources/icons/settings/language@2x.png new file mode 100644 index 000000000..03c584523 Binary files /dev/null and b/Telegram/Resources/icons/settings/language@2x.png differ diff --git a/Telegram/Resources/icons/settings/language@3x.png b/Telegram/Resources/icons/settings/language@3x.png new file mode 100644 index 000000000..1a3ecca9a Binary files /dev/null and b/Telegram/Resources/icons/settings/language@3x.png differ diff --git a/Telegram/Resources/icons/settings/lock.png b/Telegram/Resources/icons/settings/lock.png new file mode 100644 index 000000000..40daf45a1 Binary files /dev/null and b/Telegram/Resources/icons/settings/lock.png differ diff --git a/Telegram/Resources/icons/settings/lock@2x.png b/Telegram/Resources/icons/settings/lock@2x.png new file mode 100644 index 000000000..efc00159b Binary files /dev/null and b/Telegram/Resources/icons/settings/lock@2x.png differ diff --git a/Telegram/Resources/icons/settings/lock@3x.png b/Telegram/Resources/icons/settings/lock@3x.png new file mode 100644 index 000000000..62c1815cb Binary files /dev/null and b/Telegram/Resources/icons/settings/lock@3x.png differ diff --git a/Telegram/Resources/icons/settings/notifications.png b/Telegram/Resources/icons/settings/notifications.png new file mode 100644 index 000000000..78ad4bea9 Binary files /dev/null and b/Telegram/Resources/icons/settings/notifications.png differ diff --git a/Telegram/Resources/icons/settings/notifications@2x.png b/Telegram/Resources/icons/settings/notifications@2x.png new file mode 100644 index 000000000..bac28778f Binary files /dev/null and b/Telegram/Resources/icons/settings/notifications@2x.png differ diff --git a/Telegram/Resources/icons/settings/notifications@3x.png b/Telegram/Resources/icons/settings/notifications@3x.png new file mode 100644 index 000000000..bf3332f03 Binary files /dev/null and b/Telegram/Resources/icons/settings/notifications@3x.png differ diff --git a/Telegram/Resources/icons/settings/palette.png b/Telegram/Resources/icons/settings/palette.png new file mode 100644 index 000000000..f2f606d54 Binary files /dev/null and b/Telegram/Resources/icons/settings/palette.png differ diff --git a/Telegram/Resources/icons/settings/palette@2x.png b/Telegram/Resources/icons/settings/palette@2x.png new file mode 100644 index 000000000..95f328bde Binary files /dev/null and b/Telegram/Resources/icons/settings/palette@2x.png differ diff --git a/Telegram/Resources/icons/settings/palette@3x.png b/Telegram/Resources/icons/settings/palette@3x.png new file mode 100644 index 000000000..be6fa7fb3 Binary files /dev/null and b/Telegram/Resources/icons/settings/palette@3x.png differ diff --git a/Telegram/Resources/icons/settings/settings_advanced.png b/Telegram/Resources/icons/settings/settings_advanced.png deleted file mode 100644 index 469abcaf8..000000000 Binary files a/Telegram/Resources/icons/settings/settings_advanced.png and /dev/null differ diff --git a/Telegram/Resources/icons/settings/settings_advanced@2x.png b/Telegram/Resources/icons/settings/settings_advanced@2x.png deleted file mode 100644 index 95a6e3c3f..000000000 Binary files a/Telegram/Resources/icons/settings/settings_advanced@2x.png and /dev/null differ diff --git a/Telegram/Resources/icons/settings/settings_advanced@3x.png b/Telegram/Resources/icons/settings/settings_advanced@3x.png deleted file mode 100644 index bdcd1797e..000000000 Binary files a/Telegram/Resources/icons/settings/settings_advanced@3x.png and /dev/null differ diff --git a/Telegram/Resources/icons/settings/settings_chat.png b/Telegram/Resources/icons/settings/settings_chat.png deleted file mode 100644 index ca3b669ce..000000000 Binary files a/Telegram/Resources/icons/settings/settings_chat.png and /dev/null differ diff --git a/Telegram/Resources/icons/settings/settings_chat@2x.png b/Telegram/Resources/icons/settings/settings_chat@2x.png deleted file mode 100644 index 30b4f3e0b..000000000 Binary files a/Telegram/Resources/icons/settings/settings_chat@2x.png and /dev/null differ diff --git a/Telegram/Resources/icons/settings/settings_chat@3x.png b/Telegram/Resources/icons/settings/settings_chat@3x.png deleted file mode 100644 index a312eadf0..000000000 Binary files a/Telegram/Resources/icons/settings/settings_chat@3x.png and /dev/null differ diff --git a/Telegram/Resources/icons/settings/settings_emoji.png b/Telegram/Resources/icons/settings/settings_emoji.png deleted file mode 100644 index ecd4e2893..000000000 Binary files a/Telegram/Resources/icons/settings/settings_emoji.png and /dev/null differ diff --git a/Telegram/Resources/icons/settings/settings_emoji@2x.png b/Telegram/Resources/icons/settings/settings_emoji@2x.png deleted file mode 100644 index aba065d27..000000000 Binary files a/Telegram/Resources/icons/settings/settings_emoji@2x.png and /dev/null differ diff --git a/Telegram/Resources/icons/settings/settings_emoji@3x.png b/Telegram/Resources/icons/settings/settings_emoji@3x.png deleted file mode 100644 index 01f089b2d..000000000 Binary files a/Telegram/Resources/icons/settings/settings_emoji@3x.png and /dev/null differ diff --git a/Telegram/Resources/icons/settings/settings_faq.png b/Telegram/Resources/icons/settings/settings_faq.png deleted file mode 100644 index 2e4693de2..000000000 Binary files a/Telegram/Resources/icons/settings/settings_faq.png and /dev/null differ diff --git a/Telegram/Resources/icons/settings/settings_faq@2x.png b/Telegram/Resources/icons/settings/settings_faq@2x.png deleted file mode 100644 index 1657cca23..000000000 Binary files a/Telegram/Resources/icons/settings/settings_faq@2x.png and /dev/null differ diff --git a/Telegram/Resources/icons/settings/settings_faq@3x.png b/Telegram/Resources/icons/settings/settings_faq@3x.png deleted file mode 100644 index c1a4dd22b..000000000 Binary files a/Telegram/Resources/icons/settings/settings_faq@3x.png and /dev/null differ diff --git a/Telegram/Resources/icons/settings/settings_folders.png b/Telegram/Resources/icons/settings/settings_folders.png deleted file mode 100644 index bb941b3e2..000000000 Binary files a/Telegram/Resources/icons/settings/settings_folders.png and /dev/null differ diff --git a/Telegram/Resources/icons/settings/settings_folders@2x.png b/Telegram/Resources/icons/settings/settings_folders@2x.png deleted file mode 100644 index 468d20aee..000000000 Binary files a/Telegram/Resources/icons/settings/settings_folders@2x.png and /dev/null differ diff --git a/Telegram/Resources/icons/settings/settings_folders@3x.png b/Telegram/Resources/icons/settings/settings_folders@3x.png deleted file mode 100644 index 9300c2dc6..000000000 Binary files a/Telegram/Resources/icons/settings/settings_folders@3x.png and /dev/null differ diff --git a/Telegram/Resources/icons/settings/settings_information.png b/Telegram/Resources/icons/settings/settings_information.png deleted file mode 100644 index 02cf5c07a..000000000 Binary files a/Telegram/Resources/icons/settings/settings_information.png and /dev/null differ diff --git a/Telegram/Resources/icons/settings/settings_information@2x.png b/Telegram/Resources/icons/settings/settings_information@2x.png deleted file mode 100644 index b335acf21..000000000 Binary files a/Telegram/Resources/icons/settings/settings_information@2x.png and /dev/null differ diff --git a/Telegram/Resources/icons/settings/settings_information@3x.png b/Telegram/Resources/icons/settings/settings_information@3x.png deleted file mode 100644 index 489f2ac0a..000000000 Binary files a/Telegram/Resources/icons/settings/settings_information@3x.png and /dev/null differ diff --git a/Telegram/Resources/icons/settings/settings_interface_scale.png b/Telegram/Resources/icons/settings/settings_interface_scale.png deleted file mode 100644 index 7db6e9f25..000000000 Binary files a/Telegram/Resources/icons/settings/settings_interface_scale.png and /dev/null differ diff --git a/Telegram/Resources/icons/settings/settings_interface_scale@2x.png b/Telegram/Resources/icons/settings/settings_interface_scale@2x.png deleted file mode 100644 index 7187b9b22..000000000 Binary files a/Telegram/Resources/icons/settings/settings_interface_scale@2x.png and /dev/null differ diff --git a/Telegram/Resources/icons/settings/settings_interface_scale@3x.png b/Telegram/Resources/icons/settings/settings_interface_scale@3x.png deleted file mode 100644 index 3bcca5b7f..000000000 Binary files a/Telegram/Resources/icons/settings/settings_interface_scale@3x.png and /dev/null differ diff --git a/Telegram/Resources/icons/settings/settings_language.png b/Telegram/Resources/icons/settings/settings_language.png deleted file mode 100644 index b921ea427..000000000 Binary files a/Telegram/Resources/icons/settings/settings_language.png and /dev/null differ diff --git a/Telegram/Resources/icons/settings/settings_language@2x.png b/Telegram/Resources/icons/settings/settings_language@2x.png deleted file mode 100644 index 6c070e3e3..000000000 Binary files a/Telegram/Resources/icons/settings/settings_language@2x.png and /dev/null differ diff --git a/Telegram/Resources/icons/settings/settings_language@3x.png b/Telegram/Resources/icons/settings/settings_language@3x.png deleted file mode 100644 index 6619203f5..000000000 Binary files a/Telegram/Resources/icons/settings/settings_language@3x.png and /dev/null differ diff --git a/Telegram/Resources/icons/settings/settings_notifications.png b/Telegram/Resources/icons/settings/settings_notifications.png deleted file mode 100644 index c6baf4125..000000000 Binary files a/Telegram/Resources/icons/settings/settings_notifications.png and /dev/null differ diff --git a/Telegram/Resources/icons/settings/settings_notifications@2x.png b/Telegram/Resources/icons/settings/settings_notifications@2x.png deleted file mode 100644 index 998b44c34..000000000 Binary files a/Telegram/Resources/icons/settings/settings_notifications@2x.png and /dev/null differ diff --git a/Telegram/Resources/icons/settings/settings_notifications@3x.png b/Telegram/Resources/icons/settings/settings_notifications@3x.png deleted file mode 100644 index 74815bc59..000000000 Binary files a/Telegram/Resources/icons/settings/settings_notifications@3x.png and /dev/null differ diff --git a/Telegram/Resources/icons/settings/settings_privacy_security.png b/Telegram/Resources/icons/settings/settings_privacy_security.png deleted file mode 100644 index 573abf2bc..000000000 Binary files a/Telegram/Resources/icons/settings/settings_privacy_security.png and /dev/null differ diff --git a/Telegram/Resources/icons/settings/settings_privacy_security@2x.png b/Telegram/Resources/icons/settings/settings_privacy_security@2x.png deleted file mode 100644 index 5b5bacc99..000000000 Binary files a/Telegram/Resources/icons/settings/settings_privacy_security@2x.png and /dev/null differ diff --git a/Telegram/Resources/icons/settings/settings_privacy_security@3x.png b/Telegram/Resources/icons/settings/settings_privacy_security@3x.png deleted file mode 100644 index f4a37722e..000000000 Binary files a/Telegram/Resources/icons/settings/settings_privacy_security@3x.png and /dev/null differ diff --git a/Telegram/Resources/icons/settings/settings_themes.png b/Telegram/Resources/icons/settings/settings_themes.png deleted file mode 100644 index fd36932b5..000000000 Binary files a/Telegram/Resources/icons/settings/settings_themes.png and /dev/null differ diff --git a/Telegram/Resources/icons/settings/settings_themes@2x.png b/Telegram/Resources/icons/settings/settings_themes@2x.png deleted file mode 100644 index b26c2cd2b..000000000 Binary files a/Telegram/Resources/icons/settings/settings_themes@2x.png and /dev/null differ diff --git a/Telegram/Resources/icons/settings/settings_themes@3x.png b/Telegram/Resources/icons/settings/settings_themes@3x.png deleted file mode 100644 index 0694f77bc..000000000 Binary files a/Telegram/Resources/icons/settings/settings_themes@3x.png and /dev/null differ diff --git a/Telegram/Resources/icons/settings/stickers.png b/Telegram/Resources/icons/settings/stickers.png new file mode 100644 index 000000000..064eec67a Binary files /dev/null and b/Telegram/Resources/icons/settings/stickers.png differ diff --git a/Telegram/Resources/icons/settings/stickers@2x.png b/Telegram/Resources/icons/settings/stickers@2x.png new file mode 100644 index 000000000..274bd286b Binary files /dev/null and b/Telegram/Resources/icons/settings/stickers@2x.png differ diff --git a/Telegram/Resources/icons/settings/stickers@3x.png b/Telegram/Resources/icons/settings/stickers@3x.png new file mode 100644 index 000000000..df6b71ea7 Binary files /dev/null and b/Telegram/Resources/icons/settings/stickers@3x.png differ diff --git a/Telegram/SourceFiles/boxes/sessions_box.cpp b/Telegram/SourceFiles/boxes/sessions_box.cpp index 9e15e4b62..6742654d1 100644 --- a/Telegram/SourceFiles/boxes/sessions_box.cpp +++ b/Telegram/SourceFiles/boxes/sessions_box.cpp @@ -929,9 +929,7 @@ void SessionsContent::Inner::setupContent() { terminateInner, tr::lng_sessions_terminate_all(), st::sessionsTerminateAll, - &st::sessionsTerminateAllIcon, - st::sessionsTerminateAllIconLeft, - &st::attentionButtonFg)); + { .icon = &st::sessionsTerminateAllIcon })); AddSkip(terminateInner); AddDividerText(terminateInner, tr::lng_sessions_terminate_all_about()); diff --git a/Telegram/SourceFiles/calls/calls.style b/Telegram/SourceFiles/calls/calls.style index 722cff04f..1cf1ed857 100644 --- a/Telegram/SourceFiles/calls/calls.style +++ b/Telegram/SourceFiles/calls/calls.style @@ -749,11 +749,11 @@ groupCallAddMember: SettingsButton(defaultSettingsButton) { height: 22px; padding: margins(63px, 17px, 22px, 11px); + iconLeft: 16px; ripple: groupCallRipple; } groupCallAddMemberIcon: icon {{ "info_add_member", groupCallMemberInactiveIcon, point(0px, 3px) }}; -groupCallAddMemberIconLeft: 16px; groupCallSubtitleLabel: FlatLabel(defaultFlatLabel) { maxHeight: 18px; textFg: groupCallMemberNotJoinedStatus; diff --git a/Telegram/SourceFiles/calls/group/calls_group_members.cpp b/Telegram/SourceFiles/calls/group/calls_group_members.cpp index a2c95febe..fdd59089c 100644 --- a/Telegram/SourceFiles/calls/group/calls_group_members.cpp +++ b/Telegram/SourceFiles/calls/group/calls_group_members.cpp @@ -1685,9 +1685,7 @@ void Members::setupAddMember(not_null call) { _layout.get(), tr::lng_group_call_invite(), st::groupCallAddMember, - &st::groupCallAddMemberIcon, - st::groupCallAddMemberIconLeft, - &st::groupCallMemberInactiveIcon); + { .icon = &st::groupCallAddMemberIcon }); addMember->clicks( ) | rpl::to_empty | rpl::start_to_stream( _addMemberRequests, diff --git a/Telegram/SourceFiles/info/info.style b/Telegram/SourceFiles/info/info.style index 0969338ff..4746e7346 100644 --- a/Telegram/SourceFiles/info/info.style +++ b/Telegram/SourceFiles/info/info.style @@ -382,6 +382,7 @@ infoProfileButton: SettingsButton(defaultSettingsButton) { height: 20px; padding: margins(79px, 10px, 8px, 8px); + iconLeft: 22px; toggle: infoProfileToggle; toggleOver: infoProfileToggleOver; diff --git a/Telegram/SourceFiles/info/info_layer_widget.cpp b/Telegram/SourceFiles/info/info_layer_widget.cpp index a3a18b8c9..37c8e7bbf 100644 --- a/Telegram/SourceFiles/info/info_layer_widget.cpp +++ b/Telegram/SourceFiles/info/info_layer_widget.cpp @@ -216,7 +216,9 @@ int LayerWidget::resizeGetHeight(int newWidth) { st::infoLayerTopMinimal, st::infoLayerTopMaximal); auto newBottom = newTop; - auto desiredHeight = st::boxRadius + _desiredHeight + st::boxRadius; + + // Top rounding is included in _desiredHeight. + auto desiredHeight = _desiredHeight + st::boxRadius; accumulate_min(desiredHeight, windowHeight - newTop - newBottom); // First resize content to new width and get the new desired height. diff --git a/Telegram/SourceFiles/payments/ui/payments_form_summary.cpp b/Telegram/SourceFiles/payments/ui/payments_form_summary.cpp index d152e5cb2..acbcd8ad0 100644 --- a/Telegram/SourceFiles/payments/ui/payments_form_summary.cpp +++ b/Telegram/SourceFiles/payments/ui/payments_form_summary.cpp @@ -490,7 +490,7 @@ void FormSummary::setupSections(not_null layout) { std::move(title), rpl::single(label), st::paymentsSectionButton, - icon); + { .icon = icon }); button->addClickHandler(std::move(handler)); if (_invoice.receipt) { button->setAttribute(Qt::WA_TransparentForMouseEvents); diff --git a/Telegram/SourceFiles/settings/settings.style b/Telegram/SourceFiles/settings/settings.style index 63333d5fe..e0322f423 100644 --- a/Telegram/SourceFiles/settings/settings.style +++ b/Telegram/SourceFiles/settings/settings.style @@ -12,7 +12,8 @@ using "boxes/boxes.style"; settingsSectionButton: SettingsButton(infoProfileButton) { font: boxTextFont; - padding: margins(60px, 11px, 22px, 9px); + padding: margins(60px, 10px, 22px, 10px); + iconLeft: 20px; } settingsButton: SettingsButton(settingsSectionButton) { padding: margins(22px, 10px, 22px, 8px); @@ -28,13 +29,11 @@ settingsOptionDisabled: SettingsButton(settingsButton) { textBgOver: windowBg; toggleOver: infoProfileToggle; } -settingsSectionSkip: 5px; -settingsSectionBottomSkip: 7px; -settingsSectionIconLeft: 22px; +settingsSectionSkip: 6px; settingsSeparatorPadding: margins(22px, infoProfileSkip, 0px, infoProfileSkip); settingsButtonRightSkip: 23px; -settingsScalePadding: margins(63px, 8px, 21px, 5px); -settingsBigScalePadding: margins(21px, 8px, 21px, 5px); +settingsScalePadding: margins(63px, 7px, 21px, 4px); +settingsBigScalePadding: margins(21px, 7px, 21px, 4px); settingsSlider: SettingsSlider(defaultSettingsSlider) { barFg: windowBgOver; labelFg: windowSubTextFg; @@ -52,18 +51,20 @@ settingsUpdate: SettingsButton(infoMainButton, settingsButton) { settingsUpdateStatePosition: point(22px, 29px); settingsDividerLabelPadding: margins(22px, 10px, 22px, 19px); -settingsIconInformation: icon {{ "settings/settings_information", menuIconFg }}; -settingsIconNotifications: icon {{ "settings/settings_notifications", menuIconFg }}; -settingsIconChat: icon {{ "settings/settings_chat", menuIconFg }}; -settingsIconFolders: icon {{ "settings/settings_folders", menuIconFg }}; -settingsIconGeneral: icon {{ "settings/settings_advanced", menuIconFg }}; -settingsIconPrivacySecurity: icon {{ "settings/settings_privacy_security", menuIconFg }}; -settingsIconLanguage: icon {{ "settings/settings_language", menuIconFg }}; -settingsIconInterfaceScale: icon {{ "settings/settings_interface_scale", menuIconFg }}; -settingsIconFaq: icon {{ "settings/settings_faq", menuIconFg }}; -settingsIconStickers: icon {{ "settings/settings_stickers", menuIconFg }}; -settingsIconEmoji: icon {{ "settings/settings_emoji", menuIconFg }}; -settingsIconThemes: icon {{ "settings/settings_themes", menuIconFg }}; +settingsIconInformation: icon {{ "settings/account", settingsIconFg }}; +settingsIconNotifications: icon {{ "settings/notifications", settingsIconFg }}; +settingsIconChat: icon {{ "settings/chat", settingsIconFg }}; +settingsIconFolders: icon {{ "settings/folders", settingsIconFg }}; +settingsIconGeneral: icon {{ "settings/advanced", settingsIconFg }}; +settingsIconPrivacySecurity: icon {{ "settings/lock", settingsIconFg }}; +settingsIconLanguage: icon {{ "settings/language", settingsIconFg }}; +settingsIconInterfaceScale: icon {{ "settings/interface_scale", settingsIconFg }}; +settingsIconFaq: icon {{ "settings/faq", settingsIconFg }}; +settingsIconCalls: icon {{ "settings/calls", settingsIconFg }}; +settingsIconAskQuestion: icon {{ "settings/ask_question", settingsIconFg }}; +settingsIconStickers: icon {{ "settings/stickers", settingsIconFg }}; +settingsIconEmoji: icon {{ "settings/emoji", settingsIconFg }}; +settingsIconThemes: icon {{ "settings/palette", settingsIconFg }}; settingsSetPhotoSkip: 7px; @@ -167,11 +168,6 @@ settingsBioLabelPadding: margins(22px, 11px, 22px, 0px); settingsPrivacyEditLabelPadding: margins(22px, 11px, 22px, 11px); -settingsChatButton: SettingsButton(settingsSectionButton) { - padding: margins(59px, 13px, 22px, 11px); -} -settingsChatIconLeft: 19px; - settingsThemesTopSkip: 10px; settingsThemesBottomSkip: 8px; settingsTheme: Checkbox(defaultCheckbox) { @@ -254,9 +250,9 @@ sessionsTerminateAll: SettingsButton(defaultSettingsButton) { font: font(boxFontSize semibold); height: 20px; padding: margins(77px, 12px, 22px, 10px); + iconLeft: 30px; } sessionsTerminateAllIcon: icon {{ "settings/devices/terminate_all", attentionButtonFg }}; -sessionsTerminateAllIconLeft: 30px; sessionLocationTop: 54px; sessionCurrentSkip: 8px; sessionSubtitleSkip: 14px; @@ -350,3 +346,5 @@ settingsPhoneLeft: settingsNameLeft; settingsPhoneTop: 37px; settingsUsernameLeft: settingsNameLeft; settingsUsernameTop: 58px; + +settingsIconRadius: 6px; diff --git a/Telegram/SourceFiles/settings/settings_advanced.cpp b/Telegram/SourceFiles/settings/settings_advanced.cpp index ea72c91e0..c60dfe53c 100644 --- a/Telegram/SourceFiles/settings/settings_advanced.cpp +++ b/Telegram/SourceFiles/settings/settings_advanced.cpp @@ -707,13 +707,6 @@ void SetupSystemIntegration( AddDivider(container); AddSkip(container); AddSubsectionTitle(container, tr::lng_settings_system_integration()); - AddButton( - container, - tr::lng_settings_section_call_settings(), - st::settingsButton - )->addClickHandler([=] { - showOther(Type::Calls); - }); SetupSystemIntegrationOptions(controller, container); AddSkip(container); } diff --git a/Telegram/SourceFiles/settings/settings_chat.cpp b/Telegram/SourceFiles/settings/settings_chat.cpp index 69a011a02..701cd489a 100644 --- a/Telegram/SourceFiles/settings/settings_chat.cpp +++ b/Telegram/SourceFiles/settings/settings_chat.cpp @@ -747,9 +747,8 @@ void SetupStickersEmoji( AddButton( container, tr::lng_stickers_you_have(), - st::settingsChatButton, - &st::settingsIconStickers, - st::settingsChatIconLeft + st::settingsSectionButton, + { &st::settingsIconStickers, kIconLightOrange } )->addClickHandler([=] { controller->show( Box(controller, StickersBox::Section::Installed)); @@ -758,9 +757,8 @@ void SetupStickersEmoji( AddButton( container, tr::lng_emoji_manage_sets(), - st::settingsChatButton, - &st::settingsIconEmoji, - st::settingsChatIconLeft + st::settingsSectionButton, + { &st::settingsIconEmoji, kIconDarkOrange } )->addClickHandler([=] { controller->show(Box(session)); }); @@ -1274,9 +1272,8 @@ void SetupCloudThemes( AddButton( edit, tr::lng_settings_bg_theme_edit(), - st::settingsChatButton, - &st::settingsIconThemes, - st::settingsChatIconLeft + st::settingsSectionButton, + { &st::settingsIconThemes, kIconGreen } )->addClickHandler([=] { StartEditor( &controller->window(), diff --git a/Telegram/SourceFiles/settings/settings_common.cpp b/Telegram/SourceFiles/settings/settings_common.cpp index 0780809ad..29a371ebd 100644 --- a/Telegram/SourceFiles/settings/settings_common.cpp +++ b/Telegram/SourceFiles/settings/settings_common.cpp @@ -37,10 +37,57 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL namespace Settings { +Icon::Icon(IconDescriptor descriptor) : _icon(descriptor.icon) { + const auto background = [&] { + if (descriptor.color > 0) { + const auto list = std::array{ + &st::settingsIconBg1, + &st::settingsIconBg2, + &st::settingsIconBg3, + &st::settingsIconBg4, + &st::settingsIconBg5, + &st::settingsIconBg6, + (const style::color*)nullptr, + &st::settingsIconBg8, + &st::settingsIconBgArchive, + }; + Assert(descriptor.color < 10 && descriptor.color != 7); + return list[descriptor.color - 1]; + } + return descriptor.background; + }(); + if (background) { + _background.emplace(st::settingsIconRadius, *background); + } +} + +void Icon::paint(QPainter &p, QPoint position) const { + paint(p, position.x(), position.y()); +} + +void Icon::paint(QPainter &p, int x, int y) const { + if (_background) { + _background->paint(p, { { x, y }, _icon->size() }); + } + _icon->paint(p, { x, y }, 2 * x + _icon->width()); +} + +int Icon::width() const { + return _icon->width(); +} + +int Icon::height() const { + return _icon->height(); +} + +QSize Icon::size() const { + return _icon->size(); +} + object_ptr
CreateSection( - Type type, - not_null parent, - not_null controller) { + Type type, + not_null parent, + not_null controller) { switch (type) { case Type::Main: return object_ptr
(parent, controller); @@ -81,8 +128,8 @@ void AddDivider(not_null container) { } void AddDividerText( - not_null container, - rpl::producer text) { + not_null container, + rpl::producer text) { container->add(object_ptr( container, object_ptr( @@ -92,49 +139,48 @@ void AddDividerText( st::settingsDividerLabelPadding)); } -not_null AddButtonIcon( +void AddButtonIcon( not_null button, - const style::icon *leftIcon, - int iconLeft, - const style::color *leftIconOver) { - const auto icon = Ui::CreateChild(button.get()); - icon->setAttribute(Qt::WA_TransparentForMouseEvents); - icon->resize(leftIcon->size()); - button->sizeValue( - ) | rpl::start_with_next([=](QSize size) { - icon->moveToLeft( - iconLeft ? iconLeft : st::settingsSectionIconLeft, - (size.height() - icon->height()) / 2, - size.width()); - }, icon->lifetime()); - icon->paintRequest( - ) | rpl::start_with_next([=] { - Painter p(icon); - const auto width = icon->width(); - const auto paintOver = (button->isOver() || button->isDown()) - && !button->isDisabled(); - if (!paintOver) { - leftIcon->paint(p, QPoint(), width); - } else if (leftIconOver) { - leftIcon->paint(p, QPoint(), width, (*leftIconOver)->c); - } else { - leftIcon->paint(p, QPoint(), width, st::menuIconFgOver->c); + const style::SettingsButton &st, + IconDescriptor &&descriptor) { + Expects(descriptor.icon != nullptr); + + struct IconWidget { + IconWidget(QWidget *parent, IconDescriptor &&descriptor) + : widget(parent) + , icon(std::move(descriptor)) { } - }, icon->lifetime()); - return icon; + Ui::RpWidget widget; + Icon icon; + }; + const auto icon = button->lifetime().make_state( + button, + std::move(descriptor)); + icon->widget.setAttribute(Qt::WA_TransparentForMouseEvents); + icon->widget.resize(icon->icon.size()); + button->sizeValue( + ) | rpl::start_with_next([=, left = st.iconLeft](QSize size) { + icon->widget.moveToLeft( + left, + (size.height() - icon->widget.height()) / 2, + size.width()); + }, icon->widget.lifetime()); + icon->widget.paintRequest( + ) | rpl::start_with_next([=] { + auto p = QPainter(&icon->widget); + icon->icon.paint(p, 0, 0); + }, icon->widget.lifetime()); } object_ptr