diff --git a/Telegram/Resources/icons/info/edit/channel_manage_signature.png b/Telegram/Resources/icons/info/edit/channel_manage_signature.png new file mode 100644 index 000000000..2b009d54f Binary files /dev/null and b/Telegram/Resources/icons/info/edit/channel_manage_signature.png differ diff --git a/Telegram/Resources/icons/info/edit/channel_manage_signature@2x.png b/Telegram/Resources/icons/info/edit/channel_manage_signature@2x.png new file mode 100644 index 000000000..7481d9f04 Binary files /dev/null and b/Telegram/Resources/icons/info/edit/channel_manage_signature@2x.png differ diff --git a/Telegram/Resources/icons/info/edit/channel_manage_signature@3x.png b/Telegram/Resources/icons/info/edit/channel_manage_signature@3x.png new file mode 100644 index 000000000..7baba394d Binary files /dev/null and b/Telegram/Resources/icons/info/edit/channel_manage_signature@3x.png differ diff --git a/Telegram/Resources/icons/info/edit/group_manage_actions.png b/Telegram/Resources/icons/info/edit/group_manage_actions.png index 97ba822b3..a1edd3cfa 100644 Binary files a/Telegram/Resources/icons/info/edit/group_manage_actions.png and b/Telegram/Resources/icons/info/edit/group_manage_actions.png differ diff --git a/Telegram/Resources/icons/info/edit/group_manage_actions@2x.png b/Telegram/Resources/icons/info/edit/group_manage_actions@2x.png index 0bfedb200..8463e220c 100644 Binary files a/Telegram/Resources/icons/info/edit/group_manage_actions@2x.png and b/Telegram/Resources/icons/info/edit/group_manage_actions@2x.png differ diff --git a/Telegram/Resources/icons/info/edit/group_manage_actions@3x.png b/Telegram/Resources/icons/info/edit/group_manage_actions@3x.png index c608c9a96..28f23489f 100644 Binary files a/Telegram/Resources/icons/info/edit/group_manage_actions@3x.png and b/Telegram/Resources/icons/info/edit/group_manage_actions@3x.png differ diff --git a/Telegram/Resources/icons/info/edit/group_manage_admins.png b/Telegram/Resources/icons/info/edit/group_manage_admins.png index 19b2ec7ef..c1c4c95bb 100644 Binary files a/Telegram/Resources/icons/info/edit/group_manage_admins.png and b/Telegram/Resources/icons/info/edit/group_manage_admins.png differ diff --git a/Telegram/Resources/icons/info/edit/group_manage_admins@2x.png b/Telegram/Resources/icons/info/edit/group_manage_admins@2x.png index 4a18bf5ed..709e80574 100644 Binary files a/Telegram/Resources/icons/info/edit/group_manage_admins@2x.png and b/Telegram/Resources/icons/info/edit/group_manage_admins@2x.png differ diff --git a/Telegram/Resources/icons/info/edit/group_manage_admins@3x.png b/Telegram/Resources/icons/info/edit/group_manage_admins@3x.png index ea85a8f93..9dcd0742b 100644 Binary files a/Telegram/Resources/icons/info/edit/group_manage_admins@3x.png and b/Telegram/Resources/icons/info/edit/group_manage_admins@3x.png differ diff --git a/Telegram/Resources/icons/info/edit/group_manage_links.png b/Telegram/Resources/icons/info/edit/group_manage_links.png index cab884fe5..3cec723db 100644 Binary files a/Telegram/Resources/icons/info/edit/group_manage_links.png and b/Telegram/Resources/icons/info/edit/group_manage_links.png differ diff --git a/Telegram/Resources/icons/info/edit/group_manage_links@2x.png b/Telegram/Resources/icons/info/edit/group_manage_links@2x.png index 46b84c788..c48a70f22 100644 Binary files a/Telegram/Resources/icons/info/edit/group_manage_links@2x.png and b/Telegram/Resources/icons/info/edit/group_manage_links@2x.png differ diff --git a/Telegram/Resources/icons/info/edit/group_manage_links@3x.png b/Telegram/Resources/icons/info/edit/group_manage_links@3x.png index a6b03b695..0e084b5d6 100644 Binary files a/Telegram/Resources/icons/info/edit/group_manage_links@3x.png and b/Telegram/Resources/icons/info/edit/group_manage_links@3x.png differ diff --git a/Telegram/Resources/icons/info/edit/group_manage_permissions.png b/Telegram/Resources/icons/info/edit/group_manage_permissions.png deleted file mode 100644 index 7c2583619..000000000 Binary files a/Telegram/Resources/icons/info/edit/group_manage_permissions.png and /dev/null differ diff --git a/Telegram/Resources/icons/info/edit/group_manage_permissions@2x.png b/Telegram/Resources/icons/info/edit/group_manage_permissions@2x.png deleted file mode 100644 index bd782c784..000000000 Binary files a/Telegram/Resources/icons/info/edit/group_manage_permissions@2x.png and /dev/null differ diff --git a/Telegram/Resources/icons/info/edit/group_manage_permissions@3x.png b/Telegram/Resources/icons/info/edit/group_manage_permissions@3x.png deleted file mode 100644 index f09d86820..000000000 Binary files a/Telegram/Resources/icons/info/edit/group_manage_permissions@3x.png and /dev/null differ diff --git a/Telegram/Resources/icons/info/edit/group_manage_reactions.png b/Telegram/Resources/icons/info/edit/group_manage_reactions.png index 6f5e0a875..b1aa70cac 100644 Binary files a/Telegram/Resources/icons/info/edit/group_manage_reactions.png and b/Telegram/Resources/icons/info/edit/group_manage_reactions.png differ diff --git a/Telegram/Resources/icons/info/edit/group_manage_reactions@2x.png b/Telegram/Resources/icons/info/edit/group_manage_reactions@2x.png index bb08ad654..ca37d3892 100644 Binary files a/Telegram/Resources/icons/info/edit/group_manage_reactions@2x.png and b/Telegram/Resources/icons/info/edit/group_manage_reactions@2x.png differ diff --git a/Telegram/Resources/icons/info/edit/group_manage_reactions@3x.png b/Telegram/Resources/icons/info/edit/group_manage_reactions@3x.png index f2900f807..1de249117 100644 Binary files a/Telegram/Resources/icons/info/edit/group_manage_reactions@3x.png and b/Telegram/Resources/icons/info/edit/group_manage_reactions@3x.png differ diff --git a/Telegram/Resources/icons/info/edit/group_manage_type.png b/Telegram/Resources/icons/info/edit/group_manage_type.png new file mode 100644 index 000000000..9bd8a1930 Binary files /dev/null and b/Telegram/Resources/icons/info/edit/group_manage_type.png differ diff --git a/Telegram/Resources/icons/info/edit/group_manage_type@2x.png b/Telegram/Resources/icons/info/edit/group_manage_type@2x.png new file mode 100644 index 000000000..408c982e9 Binary files /dev/null and b/Telegram/Resources/icons/info/edit/group_manage_type@2x.png differ diff --git a/Telegram/Resources/icons/info/edit/group_manage_type@3x.png b/Telegram/Resources/icons/info/edit/group_manage_type@3x.png new file mode 100644 index 000000000..6e691af00 Binary files /dev/null and b/Telegram/Resources/icons/info/edit/group_manage_type@3x.png differ diff --git a/Telegram/Resources/icons/info/info_blacklist.png b/Telegram/Resources/icons/info/info_blacklist.png deleted file mode 100644 index a9c5dd428..000000000 Binary files a/Telegram/Resources/icons/info/info_blacklist.png and /dev/null differ diff --git a/Telegram/Resources/icons/info/info_blacklist@2x.png b/Telegram/Resources/icons/info/info_blacklist@2x.png deleted file mode 100644 index 3a2b6742c..000000000 Binary files a/Telegram/Resources/icons/info/info_blacklist@2x.png and /dev/null differ diff --git a/Telegram/Resources/icons/info/info_blacklist@3x.png b/Telegram/Resources/icons/info/info_blacklist@3x.png deleted file mode 100644 index 4a9ea9757..000000000 Binary files a/Telegram/Resources/icons/info/info_blacklist@3x.png and /dev/null differ diff --git a/Telegram/Resources/langs/lang.strings b/Telegram/Resources/langs/lang.strings index 2f7d6cfbb..662881f42 100644 --- a/Telegram/Resources/langs/lang.strings +++ b/Telegram/Resources/langs/lang.strings @@ -1976,7 +1976,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL "lng_try_other_contact" = "Try someone else"; "lng_create_group_link" = "Link"; "lng_create_group_invite_link" = "Invite link"; -"lng_create_group_description" = "Description (optional)"; +"lng_create_group_description" = "Add description..."; "lng_drag_images_here" = "Drop images here"; "lng_drag_photos_here" = "Drop photos here"; diff --git a/Telegram/SourceFiles/boxes/peers/edit_participant_box.cpp b/Telegram/SourceFiles/boxes/peers/edit_participant_box.cpp index 528c09250..342433935 100644 --- a/Telegram/SourceFiles/boxes/peers/edit_participant_box.cpp +++ b/Telegram/SourceFiles/boxes/peers/edit_participant_box.cpp @@ -510,7 +510,8 @@ not_null*> EditAdminBox::setupTransferButton( : tr::lng_rights_transfer_channel)(), rpl::single(QString()), [=] { transferOwnership(); }, - st::peerPermissionsButton)); + st::peerPermissionsButton, + {})); return wrap; } diff --git a/Telegram/SourceFiles/boxes/peers/edit_peer_info_box.cpp b/Telegram/SourceFiles/boxes/peers/edit_peer_info_box.cpp index 0df5e23a3..6df4e6730 100644 --- a/Telegram/SourceFiles/boxes/peers/edit_peer_info_box.cpp +++ b/Telegram/SourceFiles/boxes/peers/edit_peer_info_box.cpp @@ -37,9 +37,8 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL #include "history/admin_log/history_admin_log_section.h" #include "info/profile/info_profile_values.h" #include "lang/lang_keys.h" -#include "mainwidget.h" -#include "mainwindow.h" #include "mtproto/sender.h" +#include "settings/settings_common.h" #include "ui/rp_widget.h" #include "ui/special_buttons.h" #include "ui/toast/toast.h" @@ -53,22 +52,22 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL #include "ui/wrap/vertical_layout.h" #include "window/window_session_controller.h" #include "info/profile/info_profile_icon.h" -#include "apiwrap.h" #include "api/api_invite_links.h" -#include "facades.h" +#include "facades.h" // Ui::showChatsList #include "styles/style_layers.h" #include "styles/style_boxes.h" #include "styles/style_info.h" +#include "styles/style_settings.h" namespace { -auto ToPositiveNumberString() { +[[nodiscard]] auto ToPositiveNumberString() { return rpl::map([](int count) { return count ? QString::number(count) : QString(); }); } -auto ToPositiveNumberStringRestrictions() { +[[nodiscard]] auto ToPositiveNumberStringRestrictions() { return rpl::map([](int count) { return QString::number(count) + QString("/") @@ -94,40 +93,29 @@ void AddButtonWithCount( rpl::producer &&text, rpl::producer &&count, Fn callback, - const style::icon &icon) { + Settings::IconDescriptor &&descriptor) { parent->add(EditPeerInfoBox::CreateButton( parent, std::move(text), std::move(count), std::move(callback), st::manageGroupButton, - &icon)); + std::move(descriptor))); } -object_ptr CreateButtonWithText( - not_null parent, +not_null AddButtonWithText( + not_null parent, rpl::producer &&text, rpl::producer &&label, - Fn callback) { - return EditPeerInfoBox::CreateButton( + Fn callback, + Settings::IconDescriptor &&descriptor) { + return parent->add(EditPeerInfoBox::CreateButton( parent, std::move(text), std::move(label), std::move(callback), st::manageGroupTopButtonWithText, - nullptr); -} - -Ui::SettingsButton *AddButtonWithText( - not_null parent, - rpl::producer &&text, - rpl::producer &&label, - Fn callback) { - return parent->add(CreateButtonWithText( - parent, - std::move(text), - std::move(label), - std::move(callback))); + std::move(descriptor))); } void AddButtonDelete( @@ -140,7 +128,7 @@ void AddButtonDelete( rpl::single(QString()), std::move(callback), st::manageDeleteGroupButton, - nullptr)); + {})); } void SaveDefaultRestrictions( @@ -262,7 +250,7 @@ public: not_null box, not_null peer); - object_ptr createContent(); + [[nodiscard]] object_ptr createContent(); void setFocus(); private: @@ -284,12 +272,12 @@ private: std::optional linkedChat; }; - object_ptr createPhotoAndTitleEdit(); - object_ptr createTitleEdit(); - object_ptr createPhotoEdit(); - object_ptr createDescriptionEdit(); - object_ptr createManageGroupButtons(); - object_ptr createStickersEdit(); + [[nodiscard]] object_ptr createPhotoAndTitleEdit(); + [[nodiscard]] object_ptr createTitleEdit(); + [[nodiscard]] object_ptr createPhotoEdit(); + [[nodiscard]] object_ptr createDescriptionEdit(); + [[nodiscard]] object_ptr createManageGroupButtons(); + [[nodiscard]] object_ptr createStickersEdit(); [[nodiscard]] bool canEditInformation() const; [[nodiscard]] bool canEditReactions() const; @@ -310,14 +298,14 @@ private: void deleteWithConfirmation(); void deleteChannel(); - std::optional validate() const; - bool validateUsername(Saving &to) const; - bool validateLinkedChat(Saving &to) const; - bool validateTitle(Saving &to) const; - bool validateDescription(Saving &to) const; - bool validateHistoryVisibility(Saving &to) const; - bool validateSignatures(Saving &to) const; - bool validateForwards(Saving &to) const; + [[nodiscard]] std::optional validate() const; + [[nodiscard]] bool validateUsername(Saving &to) const; + [[nodiscard]] bool validateLinkedChat(Saving &to) const; + [[nodiscard]] bool validateTitle(Saving &to) const; + [[nodiscard]] bool validateDescription(Saving &to) const; + [[nodiscard]] bool validateHistoryVisibility(Saving &to) const; + [[nodiscard]] bool validateSignatures(Saving &to) const; + [[nodiscard]] bool validateForwards(Saving &to) const; void save(); void saveUsername(); @@ -522,7 +510,8 @@ object_ptr Controller::createDescriptionEdit() { result->entity()->setInstantReplaces(Ui::InstantReplaces::Default()); result->entity()->setInstantReplacesEnabled( Core::App().settings().replaceEmojiValue()); - result->entity()->setSubmitSettings(Core::App().settings().sendSubmitWay()); + result->entity()->setSubmitSettings( + Core::App().settings().sendSubmitWay()); Ui::Emoji::SuggestionsController::Init( _wrap->window(), result->entity(), @@ -739,7 +728,8 @@ void Controller::fillPrivacyTypeButton() { ? tr::lng_manage_private_group_title : tr::lng_manage_private_peer_title)(); }) | rpl::flatten_latest(), - [=] { showEditPeerTypeBox(); }); + [=] { showEditPeerTypeBox(); }, + { &st::infoIconGroupType, Settings::kIconLightBlue }); _privacyTypeUpdates.fire_copy(*_privacySavedValue); } @@ -781,7 +771,8 @@ void Controller::fillLinkedChatButton() { _controls.buttonsLayout, std::move(text), std::move(label), - [=] { showEditLinkedChatBox(); }); + [=] { showEditLinkedChatBox(); }, + { &st::settingsIconChat, Settings::kIconGreen }); _linkedChatUpdates.fire_copy(*_linkedChatSavedValue); } // @@ -803,13 +794,16 @@ void Controller::fillSignaturesButton() { Expects(_controls.buttonsLayout != nullptr); const auto channel = _peer->asChannel(); - if (!channel) return; + if (!channel) { + return; + } AddButtonWithText( _controls.buttonsLayout, tr::lng_edit_sign_messages(), rpl::single(QString()), - [=] {} + [] {}, + { &st::infoIconSignature, Settings::kIconLightBlue } )->toggleOn(rpl::single(channel->addsSignature()) )->toggledValue( ) | rpl::start_with_next([=](bool toggled) { @@ -859,7 +853,8 @@ void Controller::fillHistoryVisibilityButton() { ? tr::lng_manage_history_visibility_shown : tr::lng_manage_history_visibility_hidden)(); }) | rpl::flatten_latest(), - buttonCallback); + buttonCallback, + { &st::settingsIconChat, Settings::kIconGreen }); updateHistoryVisibility->fire_copy(*_historyVisibilitySavedValue); @@ -970,6 +965,40 @@ void Controller::fillManageSection() { st::editPeerTopButtonsLayoutSkipCustomBottom); } + if (canEditReactions()) { + const auto session = &_peer->session(); + auto reactionsCount = Info::Profile::MigratedOrMeValue( + _peer + ) | rpl::map( + Info::Profile::AllowedReactionsCountValue + ) | rpl::flatten_latest(); + auto fullCount = Info::Profile::FullReactionsCountValue(session); + auto label = rpl::combine( + std::move(reactionsCount), + std::move(fullCount) + ) | rpl::map([=](int allowed, int total) { + return allowed + ? QString::number(allowed) + " / " + QString::number(total) + : tr::lng_manage_peer_reactions_off(tr::now); + }); + const auto done = [=](const std::vector &chosen) { + SaveAllowedReactions(_peer, chosen); + }; + AddButtonWithCount( + _controls.buttonsLayout, + tr::lng_manage_peer_reactions(), + std::move(label), + [=] { + _navigation->parentController()->show(Box( + EditAllowedReactionsBox, + !_peer->isBroadcast(), + session->data().reactions().list( + Data::Reactions::Type::Active), + *Data::PeerAllowedReactions(_peer), + done)); + }, + { &st::infoIconReactions, Settings::kIconRed }); + } if (canEditPermissions) { AddButtonWithCount( _controls.buttonsLayout, @@ -981,7 +1010,7 @@ void Controller::fillManageSection() { ) | rpl::flatten_latest( ) | ToPositiveNumberStringRestrictions(), [=] { ShowEditPermissions(_navigation, _peer); }, - st::infoIconPermissions); + { &st::settingsIconKey, Settings::kIconGreen }); } if (canEditInviteLinks) { auto count = Info::Profile::MigratedOrMeValue( @@ -1017,7 +1046,7 @@ void Controller::fillManageSection() { 0), Ui::LayerOption::KeepOther); }, - st::infoIconInviteLinks); + { &st::infoIconInviteLinks, Settings::kIconLightOrange }); if (_privacySavedValue) { _privacyTypeUpdates.events_starting_with_copy( @@ -1029,40 +1058,6 @@ void Controller::fillManageSection() { }, wrap->lifetime()); } } - if (canEditReactions()) { - const auto session = &_peer->session(); - auto reactionsCount = Info::Profile::MigratedOrMeValue( - _peer - ) | rpl::map( - Info::Profile::AllowedReactionsCountValue - ) | rpl::flatten_latest(); - auto fullCount = Info::Profile::FullReactionsCountValue(session); - auto label = rpl::combine( - std::move(reactionsCount), - std::move(fullCount) - ) | rpl::map([=](int allowed, int total) { - return allowed - ? QString::number(allowed) + " / " + QString::number(total) - : tr::lng_manage_peer_reactions_off(tr::now); - }); - const auto done = [=](const std::vector &chosen) { - SaveAllowedReactions(_peer, chosen); - }; - AddButtonWithCount( - _controls.buttonsLayout, - tr::lng_manage_peer_reactions(), - std::move(label), - [=] { - _navigation->parentController()->show(Box( - EditAllowedReactionsBox, - !_peer->isBroadcast(), - session->data().reactions().list( - Data::Reactions::Type::Active), - *Data::PeerAllowedReactions(_peer), - done)); - }, - st::infoIconReactions); - } if (canViewAdmins) { AddButtonWithCount( _controls.buttonsLayout, @@ -1079,12 +1074,14 @@ void Controller::fillManageSection() { _peer, ParticipantsBoxController::Role::Admins); }, - st::infoIconAdministrators); + { &st::infoIconAdministrators, Settings::kIconLightBlue }); } if (canViewMembers) { AddButtonWithCount( _controls.buttonsLayout, - (_isGroup ? tr::lng_manage_peer_members() : tr::lng_manage_peer_subscribers()), + (_isGroup + ? tr::lng_manage_peer_members() + : tr::lng_manage_peer_subscribers()), Info::Profile::MigratedOrMeValue( _peer ) | rpl::map( @@ -1097,7 +1094,7 @@ void Controller::fillManageSection() { _peer, ParticipantsBoxController::Role::Members); }, - st::infoIconMembers); + { &st::settingsIconGroup, Settings::kIconDarkBlue }); } fillPendingRequestsButton(); @@ -1114,7 +1111,7 @@ void Controller::fillManageSection() { _peer, ParticipantsBoxController::Role::Kicked); }, - st::infoIconBlacklist); + { &st::settingsIconMinus, Settings::kIconRed }); } if (hasRecentActions) { auto callback = [=] { @@ -1126,7 +1123,7 @@ void Controller::fillManageSection() { tr::lng_manage_peer_recent_actions(), rpl::single(QString()), //Empty count. std::move(callback), - st::infoIconRecentActions); + { &st::infoIconRecentActions, Settings::kIconPurple }); } if (canEditStickers || canDeleteChannel) { @@ -1168,7 +1165,7 @@ void Controller::fillPendingRequestsButton() { : tr::lng_manage_peer_requests_channel()), rpl::duplicate(pendingRequestsCount) | ToPositiveNumberString(), [=] { RequestsBoxController::Start(_navigation, _peer); }, - st::infoIconRequests); + { &st::infoIconRequests, Settings::kIconRed }); std::move( pendingRequestsCount ) | rpl::start_with_next([=](int count) { @@ -1670,18 +1667,18 @@ object_ptr EditPeerInfoBox::CreateButton( rpl::producer &&count, Fn callback, const style::SettingsCountButton &st, - const style::icon *icon) { + Settings::IconDescriptor &&descriptor) { auto result = object_ptr( parent, rpl::duplicate(text), st.button); const auto button = result.data(); button->addClickHandler(callback); - if (icon) { - Ui::CreateChild( + if (descriptor) { + AddButtonIcon( button, - *icon, - st.iconPosition); + st.button, + std::move(descriptor)); } auto labelText = rpl::combine( diff --git a/Telegram/SourceFiles/boxes/peers/edit_peer_info_box.h b/Telegram/SourceFiles/boxes/peers/edit_peer_info_box.h index 11ffd36ec..9844320cf 100644 --- a/Telegram/SourceFiles/boxes/peers/edit_peer_info_box.h +++ b/Telegram/SourceFiles/boxes/peers/edit_peer_info_box.h @@ -7,8 +7,11 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL */ #pragma once -#include -#include "boxes/abstract_box.h" +#include "ui/layers/box_content.h" + +namespace Settings { +struct IconDescriptor; +} // namespace Settings namespace style { struct SettingsCountButton; @@ -42,7 +45,7 @@ public: rpl::producer &&count, Fn callback, const style::SettingsCountButton &st, - const style::icon *icon = nullptr); + Settings::IconDescriptor &&descriptor); protected: void prepare() override; diff --git a/Telegram/SourceFiles/boxes/peers/edit_peer_permissions_box.cpp b/Telegram/SourceFiles/boxes/peers/edit_peer_permissions_box.cpp index 615b9f629..eccf38c8b 100644 --- a/Telegram/SourceFiles/boxes/peers/edit_peer_permissions_box.cpp +++ b/Telegram/SourceFiles/boxes/peers/edit_peer_permissions_box.cpp @@ -28,6 +28,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL #include "main/main_session.h" #include "mainwindow.h" #include "apiwrap.h" +#include "settings/settings_common.h" #include "styles/style_layers.h" #include "styles/style_boxes.h" #include "styles/style_info.h" @@ -612,7 +613,8 @@ void EditPeerPermissionsBox::addSuggestGigagroup( AboutGigagroupCallback( _peer->asChannel(), _navigation->parentController()), - st::peerPermissionsButton)); + st::peerPermissionsButton, + {})); container->add( object_ptr( @@ -645,7 +647,8 @@ void EditPeerPermissionsBox::addBannedButtons( _peer, ParticipantsBoxController::Role::Restricted); }, - st::peerPermissionsButton)); + st::peerPermissionsButton, + {})); if (channel) { container->add(EditPeerInfoBox::CreateButton( container, @@ -658,7 +661,8 @@ void EditPeerPermissionsBox::addBannedButtons( _peer, ParticipantsBoxController::Role::Kicked); }, - st::peerPermissionsButton)); + st::peerPermissionsButton, + {})); } } diff --git a/Telegram/SourceFiles/boxes/peers/edit_peer_type_box.cpp b/Telegram/SourceFiles/boxes/peers/edit_peer_type_box.cpp index e328eb7cd..edcfa5cd3 100644 --- a/Telegram/SourceFiles/boxes/peers/edit_peer_type_box.cpp +++ b/Telegram/SourceFiles/boxes/peers/edit_peer_type_box.cpp @@ -7,8 +7,6 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL */ #include "boxes/peers/edit_peer_type_box.h" -#include "apiwrap.h" -#include "api/api_invite_links.h" #include "main/main_session.h" #include "boxes/add_contact_box.h" #include "ui/boxes/confirm_box.h" @@ -19,7 +17,6 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL #include "boxes/peers/edit_peer_invite_link.h" #include "boxes/peers/edit_peer_invite_links.h" #include "chat_helpers/emoji_suggestions_widget.h" -#include "core/application.h" #include "data/data_channel.h" #include "data/data_chat.h" #include "data/data_peer.h" @@ -27,7 +24,6 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL #include "data/data_changes.h" #include "info/profile/info_profile_values.h" #include "lang/lang_keys.h" -#include "mainwindow.h" #include "mtproto/sender.h" #include "ui/rp_widget.h" #include "ui/special_buttons.h" @@ -35,7 +31,6 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL #include "ui/widgets/checkbox.h" #include "ui/widgets/input_fields.h" #include "ui/widgets/labels.h" -#include "ui/widgets/popup_menu.h" #include "ui/widgets/box_content_divider.h" #include "ui/wrap/padding_wrap.h" #include "ui/wrap/slide_wrap.h" @@ -48,11 +43,6 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL #include "styles/style_info.h" #include "styles/style_settings.h" -#include -#include - -#include - namespace { class Controller : public base::has_weak_ptr { @@ -209,21 +199,22 @@ void Controller::createContent() { Ui::LayerOption::KeepOther); }, st::manageGroupButton, - &st::infoIconInviteLinks)); + { &st::infoIconInviteLinks, Settings::kIconLightOrange })); AddSkip(_wrap.get()); AddDividerText(_wrap.get(), tr::lng_group_invite_manage_about()); if (!_linkOnly) { AddSkip(_wrap.get()); - AddSubsectionTitle(_wrap.get(), tr::lng_manage_peer_no_forwards_title()); + AddSubsectionTitle( + _wrap.get(), + tr::lng_manage_peer_no_forwards_title()); _controls.noForwards = _wrap->add(EditPeerInfoBox::CreateButton( _wrap.get(), tr::lng_manage_peer_no_forwards(), rpl::single(QString()), - [=] {}, - st::manageGroupTopButtonWithText, - nullptr - )); + [] {}, + st::peerPermissionsButton, + {})); _controls.noForwards->toggleOn( rpl::single(_noForwardsSavedValue.value_or(false)) )->toggledValue( diff --git a/Telegram/SourceFiles/boxes/peers/edit_peer_type_box.h b/Telegram/SourceFiles/boxes/peers/edit_peer_type_box.h index fa7744125..3f544e1f9 100644 --- a/Telegram/SourceFiles/boxes/peers/edit_peer_type_box.h +++ b/Telegram/SourceFiles/boxes/peers/edit_peer_type_box.h @@ -7,8 +7,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL */ #pragma once -#include "boxes/abstract_box.h" -#include "base/timer.h" +#include "ui/layers/box_content.h" namespace style { struct SettingsCountButton; diff --git a/Telegram/SourceFiles/info/info.style b/Telegram/SourceFiles/info/info.style index 219441e92..e33969cfa 100644 --- a/Telegram/SourceFiles/info/info.style +++ b/Telegram/SourceFiles/info/info.style @@ -327,12 +327,12 @@ infoIconMediaLink: icon {{ "info/info_media_link", infoIconFg }}; infoIconMediaGroup: icon {{ "info/info_common_groups", infoIconFg }}; infoIconMediaVoice: icon {{ "info/info_media_voice", infoIconFg }}; infoIconMediaRound: icon {{ "info/info_media_round", infoIconFg }}; -infoIconRecentActions: icon {{ "info/edit/group_manage_actions", infoIconFg }}; -infoIconAdministrators: icon {{ "info/edit/group_manage_admins", infoIconFg }}; -infoIconBlacklist: icon {{ "info/info_blacklist", infoIconFg }}; -infoIconPermissions: icon {{ "info/edit/group_manage_permissions", infoIconFg }}; -infoIconInviteLinks: icon {{ "info/edit/group_manage_links", infoIconFg }}; -infoIconReactions: icon {{ "info/edit/group_manage_reactions", infoIconFg }}; +infoIconRecentActions: icon {{ "info/edit/group_manage_actions", settingsIconFg }}; +infoIconAdministrators: icon {{ "info/edit/group_manage_admins", settingsIconFg }}; +infoIconInviteLinks: icon {{ "info/edit/group_manage_links", settingsIconFg }}; +infoIconReactions: icon {{ "info/edit/group_manage_reactions", settingsIconFg }}; +infoIconGroupType: icon {{ "info/edit/group_manage_type", settingsIconFg }}; +infoIconSignature: icon {{ "info/edit/channel_manage_signature", settingsIconFg }}; infoIconShare: icon {{ "info/info_share", infoIconFg }}; infoIconEdit: icon {{ "info/info_edit", infoIconFg }}; infoIconDelete: icon {{ "info/info_delete", infoIconFg }}; @@ -544,23 +544,20 @@ managePeerButton: SettingsCountButton { peerPermissionsButton: SettingsCountButton(managePeerButton) { button: SettingsButton(infoProfileButton) { - padding: margins(24px, 12px, 24px, 10px); + padding: margins(22px, 12px, 24px, 10px); } iconPosition: point(24px, 5px); } manageGroupButton: SettingsCountButton(managePeerButton) { button: SettingsButton(infoProfileButton) { - padding: margins(72px, 10px, 24px, 8px); + padding: margins(60px, 10px, 24px, 8px); } labelPosition: point(22px, 12px); iconPosition: point(20px, 4px); } manageGroupTopButtonWithText: SettingsCountButton(manageGroupButton) { - button: SettingsButton(infoProfileButton) { - padding: margins(22px, 10px, 24px, 8px); - } labelPosition: point(22px, 10px); iconPosition: point(0px, 0px); } @@ -607,7 +604,9 @@ editPeerHistoryVisibilityTopSkip: 8px; editPeerPhotoMargins: margins(22px, 16px, 22px, 8px); editPeerTitle: defaultInputField; editPeerTitleMargins: margins(27px, 21px, 22px, 8px); -editPeerDescription: newGroupDescription; +editPeerDescription: InputField(newGroupDescription) { + borderFg: transparent; +} editPeerDescriptionMargins: margins(22px, 5px, 22px, 16px); editPeerPrivaciesMargins: margins(15px, 7px, 22px, 0px); editPeerPrivacyTopSkip: 10px;