diff --git a/Telegram/Resources/icons/menu/copyright.png b/Telegram/Resources/icons/menu/copyright.png new file mode 100644 index 0000000000..72b5630b58 Binary files /dev/null and b/Telegram/Resources/icons/menu/copyright.png differ diff --git a/Telegram/Resources/icons/menu/copyright@2x.png b/Telegram/Resources/icons/menu/copyright@2x.png new file mode 100644 index 0000000000..7ad15646a2 Binary files /dev/null and b/Telegram/Resources/icons/menu/copyright@2x.png differ diff --git a/Telegram/Resources/icons/menu/copyright@3x.png b/Telegram/Resources/icons/menu/copyright@3x.png new file mode 100644 index 0000000000..6ef3d5eb81 Binary files /dev/null and b/Telegram/Resources/icons/menu/copyright@3x.png differ diff --git a/Telegram/Resources/icons/menu/drugs.png b/Telegram/Resources/icons/menu/drugs.png new file mode 100644 index 0000000000..8b689d54e1 Binary files /dev/null and b/Telegram/Resources/icons/menu/drugs.png differ diff --git a/Telegram/Resources/icons/menu/drugs@2x.png b/Telegram/Resources/icons/menu/drugs@2x.png new file mode 100644 index 0000000000..977574e327 Binary files /dev/null and b/Telegram/Resources/icons/menu/drugs@2x.png differ diff --git a/Telegram/Resources/icons/menu/drugs@3x.png b/Telegram/Resources/icons/menu/drugs@3x.png new file mode 100644 index 0000000000..049dc0e753 Binary files /dev/null and b/Telegram/Resources/icons/menu/drugs@3x.png differ diff --git a/Telegram/Resources/icons/menu/fake.png b/Telegram/Resources/icons/menu/fake.png new file mode 100644 index 0000000000..cf0c3ef926 Binary files /dev/null and b/Telegram/Resources/icons/menu/fake.png differ diff --git a/Telegram/Resources/icons/menu/fake@2x.png b/Telegram/Resources/icons/menu/fake@2x.png new file mode 100644 index 0000000000..7d47bbe031 Binary files /dev/null and b/Telegram/Resources/icons/menu/fake@2x.png differ diff --git a/Telegram/Resources/icons/menu/fake@3x.png b/Telegram/Resources/icons/menu/fake@3x.png new file mode 100644 index 0000000000..50ba1415d1 Binary files /dev/null and b/Telegram/Resources/icons/menu/fake@3x.png differ diff --git a/Telegram/Resources/icons/menu/personal.png b/Telegram/Resources/icons/menu/personal.png new file mode 100644 index 0000000000..a06200b21a Binary files /dev/null and b/Telegram/Resources/icons/menu/personal.png differ diff --git a/Telegram/Resources/icons/menu/personal@2x.png b/Telegram/Resources/icons/menu/personal@2x.png new file mode 100644 index 0000000000..351a04cdaa Binary files /dev/null and b/Telegram/Resources/icons/menu/personal@2x.png differ diff --git a/Telegram/Resources/icons/menu/personal@3x.png b/Telegram/Resources/icons/menu/personal@3x.png new file mode 100644 index 0000000000..e6b502a712 Binary files /dev/null and b/Telegram/Resources/icons/menu/personal@3x.png differ diff --git a/Telegram/Resources/icons/menu/porn.png b/Telegram/Resources/icons/menu/porn.png new file mode 100644 index 0000000000..e281318406 Binary files /dev/null and b/Telegram/Resources/icons/menu/porn.png differ diff --git a/Telegram/Resources/icons/menu/porn@2x.png b/Telegram/Resources/icons/menu/porn@2x.png new file mode 100644 index 0000000000..9c90ad7dd7 Binary files /dev/null and b/Telegram/Resources/icons/menu/porn@2x.png differ diff --git a/Telegram/Resources/icons/menu/porn@3x.png b/Telegram/Resources/icons/menu/porn@3x.png new file mode 100644 index 0000000000..cbf82e2ccf Binary files /dev/null and b/Telegram/Resources/icons/menu/porn@3x.png differ diff --git a/Telegram/Resources/icons/menu/violence.png b/Telegram/Resources/icons/menu/violence.png new file mode 100644 index 0000000000..39ee442eef Binary files /dev/null and b/Telegram/Resources/icons/menu/violence.png differ diff --git a/Telegram/Resources/icons/menu/violence@2x.png b/Telegram/Resources/icons/menu/violence@2x.png new file mode 100644 index 0000000000..a8b81fb8e6 Binary files /dev/null and b/Telegram/Resources/icons/menu/violence@2x.png differ diff --git a/Telegram/Resources/icons/menu/violence@3x.png b/Telegram/Resources/icons/menu/violence@3x.png new file mode 100644 index 0000000000..4d6513944d Binary files /dev/null and b/Telegram/Resources/icons/menu/violence@3x.png differ diff --git a/Telegram/SourceFiles/info/info.style b/Telegram/SourceFiles/info/info.style index 301d5b384e..21df80975a 100644 --- a/Telegram/SourceFiles/info/info.style +++ b/Telegram/SourceFiles/info/info.style @@ -954,3 +954,9 @@ shortInfoCover: ShortInfoCover { thickness: 2px; } } + +reportReasonTopSkip: 8px; +reportReasonButton: SettingsButton(infoProfileButton) { + style: boxTextStyle; + padding: margins(62px, 7px, 8px, 7px); +} diff --git a/Telegram/SourceFiles/ui/boxes/report_box.cpp b/Telegram/SourceFiles/ui/boxes/report_box.cpp index a03f1314cb..ddd274a533 100644 --- a/Telegram/SourceFiles/ui/boxes/report_box.cpp +++ b/Telegram/SourceFiles/ui/boxes/report_box.cpp @@ -9,12 +9,16 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL #include "lang/lang_keys.h" #include "ui/layers/generic_box.h" +#include "ui/wrap/vertical_layout.h" #include "ui/widgets/buttons.h" #include "ui/widgets/input_fields.h" #include "ui/toast/toast.h" +#include "info/profile/info_profile_icon.h" #include "styles/style_layers.h" #include "styles/style_boxes.h" #include "styles/style_profile.h" +#include "styles/style_info.h" +#include "Styles/style_menu_icons.h" namespace Ui { namespace { @@ -39,27 +43,62 @@ void ReportReasonBox( } Unexpected("'source' in ReportReasonBox."); }()); - const auto add = [&](Reason reason, tr::phrase<> text) { + auto margin = style::margins{ 0, st::reportReasonTopSkip, 0, 0 }; + const auto add = [&]( + Reason reason, + tr::phrase<> text, + const style::icon &icon) { + const auto &st = st::reportReasonButton; const auto layout = box->verticalLayout(); const auto button = layout->add( - object_ptr(layout, text())); + object_ptr(layout.get(), text(), st), + margin); + margin = {}; button->setClickedCallback([=] { done(reason); }); + const auto height = st.padding.top() + + st.height + + st.padding.bottom(); + object_ptr( + button, + icon, + QPoint{ + st::infoSharedMediaButtonIconPosition.x(), + (height - icon.height()) / 2, + }); }; - add(Reason::Spam, tr::lng_report_reason_spam); + add(Reason::Spam, tr::lng_report_reason_spam, st::menuIconDelete); if (source != Source::Message) { - add(Reason::Fake, tr::lng_report_reason_fake); + add(Reason::Fake, tr::lng_report_reason_fake, st::menuIconFake); } - add(Reason::Violence, tr::lng_report_reason_violence); - add(Reason::ChildAbuse, tr::lng_report_reason_child_abuse); - add(Reason::Pornography, tr::lng_report_reason_pornography); - add(Reason::Copyright, tr::lng_report_reason_copyright); + add( + Reason::Violence, + tr::lng_report_reason_violence, + st::menuIconViolence); + add( + Reason::ChildAbuse, + tr::lng_report_reason_child_abuse, + st::menuIconBlock); + add( + Reason::Pornography, + tr::lng_report_reason_pornography, + st::menuIconPorn); + add( + Reason::Copyright, + tr::lng_report_reason_copyright, + st::menuIconCopyright); if (source == Source::Message) { - add(Reason::IllegalDrugs, tr::lng_report_reason_illegal_drugs); - add(Reason::PersonalDetails, tr::lng_report_reason_personal_details); + add( + Reason::IllegalDrugs, + tr::lng_report_reason_illegal_drugs, + st::menuIconDrugs); + add( + Reason::PersonalDetails, + tr::lng_report_reason_personal_details, + st::menuIconPersonal); } - add(Reason::Other, tr::lng_report_reason_other); + add(Reason::Other, tr::lng_report_reason_other, st::menuIconReport); box->addButton(tr::lng_cancel(), [=] { box->closeBox(); }); } diff --git a/Telegram/SourceFiles/ui/menu_icons.style b/Telegram/SourceFiles/ui/menu_icons.style index 017f5c015e..473e2568bb 100644 --- a/Telegram/SourceFiles/ui/menu_icons.style +++ b/Telegram/SourceFiles/ui/menu_icons.style @@ -87,6 +87,12 @@ menuIconImportTheme: icon {{ "menu/import_theme", menuIconColor }}; menuIconExportTheme: icon {{ "menu/export_theme", menuIconColor }}; menuIconRestore: icon {{ "menu/restore", menuIconColor }}; menuIconSettings: icon {{ "menu/settings", menuIconColor }}; +menuIconCopyright: icon {{ "menu/copyright", menuIconColor }}; +menuIconDrugs: icon {{ "menu/drugs", menuIconColor }}; +menuIconFake: icon {{ "menu/fake", menuIconColor }}; +menuIconPersonal: icon {{ "menu/personal", menuIconColor }}; +menuIconPorn: icon {{ "menu/porn", menuIconColor }}; +menuIconViolence: icon {{ "menu/violence", menuIconColor }}; mediaMenuIconStickers: icon {{ "menu/stickers", mediaviewMenuFg }}; mediaMenuIconCancel: icon {{ "menu/cancel", mediaviewMenuFg }};