From f5b8683b33e10ef8200b013db1be12e60c3cb37e Mon Sep 17 00:00:00 2001 From: John Preston Date: Fri, 18 Feb 2022 19:26:57 +0300 Subject: [PATCH] Add some icons to Advanced settings. --- .../Resources/icons/settings/download.png | Bin 0 -> 309 bytes .../Resources/icons/settings/download@2x.png | Bin 0 -> 459 bytes .../Resources/icons/settings/download@3x.png | Bin 0 -> 640 bytes Telegram/SourceFiles/settings/settings.style | 3 +- .../settings/settings_advanced.cpp | 16 ++--- .../SourceFiles/settings/settings_chat.cpp | 67 +++++++++++++----- Telegram/SourceFiles/settings/settings_chat.h | 3 + .../SourceFiles/window/window_main_menu.cpp | 4 +- 8 files changed, 64 insertions(+), 29 deletions(-) create mode 100644 Telegram/Resources/icons/settings/download.png create mode 100644 Telegram/Resources/icons/settings/download@2x.png create mode 100644 Telegram/Resources/icons/settings/download@3x.png diff --git a/Telegram/Resources/icons/settings/download.png b/Telegram/Resources/icons/settings/download.png new file mode 100644 index 0000000000000000000000000000000000000000..e5534b7cc462b18ad12d718386362f4f9926ba49 GIT binary patch literal 309 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1SIoCSFHz9jKx9jP7LeL$-D$|Tv8)E(|mmy zw18|52FCVG1{RPKAeI7R1_tH@j10^`nh_+nfC(-uv49!D1}S`GTDlfU&G&S146zVQ zPLN=2R%O|iclVb(PXo`Nyrd)gye2H`8YT+PPg2`q#U<%{bb)dDIfp|MH}?w&E)dzI zz*tsO^Jl(&y@J(5&jkrFF*1y2GcMKD)!pA;?{3C=f|YBLrgB$ydiwW=huJ$K9oQy# zPcd85_2ui=`OSECN13U$w^qOk#+mq8&20PIX(f`ISy~gl)5I|r?E==W-^Oo!1b>WIi+RZ zW=d<=+Mjl4SYht_pyq8-eLz+9;%@2hx0XI{PK}MfBl3@bXFcD)ciP4BoR(m}HVA## ZW3J;k(e8s*1Sp^xJYD@<);T3K0RX&!p-TV& literal 0 HcmV?d00001 diff --git a/Telegram/Resources/icons/settings/download@3x.png b/Telegram/Resources/icons/settings/download@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..f302e56b74bc2f06175be981c20b4c6c6badf2bc GIT binary patch literal 640 zcmeAS@N?(olHy`uVBq!ia0vp^9w5xY1SD_us|Wxo#^NA%Cx&(BWL^R}E~ycoX}-P; zT0k}j17mw80}DtA5K93u0|WB{Mh0de%?J`(zyz1|Sip>6gA`6MbbAj}_R7=6F(iZa z?F_@bLkm=K?_d=p( z0Rg8I?9XY<=V7fnXk(k1Qlas#GK%e<+_!a^jLlbb3+70uhY2#(h-e#eBumekVYsSG zq$o+XS%QZxbJnx?-2B&*gj?T67uGQzd{_{%qPTwZ&74p3mRy^#^-R)ljaPf;MYC9f_eTQ@B==%xazV|BO@SD?t-@72F^1UL@|9Gg7FYx(7y zZ_CVX7RV?C)v1)$-1ndKB>!fCz;V^PC$hHQe*3lRZ;qMFLB~k-Pg!Tvinm71Om{Zy zJMlXpC`NC(+RcDvDGq^U8zcVA<7Mr78@lxQ=bvAz_V%~?)-1Ud6?847|q5mT=f$_RIN}mtUH2FgXVaddClickHandler([=] { controller->show(ProxiesBoxController::CreateOwningBox(account)); }); @@ -747,14 +748,6 @@ void Advanced::setupContent(not_null controller) { if (!cAutoUpdate()) { addUpdate(); } - addDivider(); - AddSkip(content); - AddSubsectionTitle(content, tr::lng_settings_network_proxy()); - SetupConnectionType( - &controller->window(), - &controller->session().account(), - content); - AddSkip(content); SetupDataStorage(controller, content); SetupAutoDownload(controller, content); SetupSystemIntegration(controller, content, [=](Type type) { @@ -779,6 +772,11 @@ void Advanced::setupContent(not_null controller) { addUpdate(); } + AddSkip(content); + AddDivider(content); + AddSkip(content); + SetupExport(controller, content); + Ui::ResizeFitChild(this, content); } diff --git a/Telegram/SourceFiles/settings/settings_chat.cpp b/Telegram/SourceFiles/settings/settings_chat.cpp index 514016ebe..80399e33c 100644 --- a/Telegram/SourceFiles/settings/settings_chat.cpp +++ b/Telegram/SourceFiles/settings/settings_chat.cpp @@ -8,6 +8,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL #include "settings/settings_chat.h" #include "settings/settings_common.h" +#include "settings/settings_advanced.h" #include "boxes/connection_box.h" #include "boxes/auto_download_box.h" #include "boxes/stickers_box.h" @@ -838,7 +839,8 @@ void SetupLocalStorage( AddButton( container, tr::lng_settings_manage_local_storage(), - st::settingsButtonNoIcon + st::settingsButton, + { &st::settingsIconGeneral, kIconLightOrange } )->addClickHandler([=] { LocalStorageBox::Show(&controller->session()); }); @@ -854,21 +856,23 @@ void SetupDataStorage( AddSubsectionTitle(container, tr::lng_settings_data_storage()); - const auto ask = AddButton( - container, - tr::lng_download_path_ask(), - st::settingsButtonNoIcon - )->toggleOn(rpl::single(Core::App().settings().askDownloadPath())); + SetupConnectionType( + &controller->window(), + &controller->session().account(), + container); #ifndef OS_WIN_STORE - const auto showpath = Ui::CreateChild>(ask); + const auto showpath = container->lifetime( + ).make_state>(); + const auto path = container->add( object_ptr>( container, CreateButton( container, tr::lng_download_path(), - st::settingsButtonNoIcon))); + st::settingsButton, + { &st::settingsIconFolders, kIconLightBlue }))); auto pathtext = Core::App().settings().downloadPathValue( ) | rpl::map([](const QString &text) { if (text.isEmpty()) { @@ -881,14 +885,29 @@ void SetupDataStorage( CreateRightLabel( path->entity(), std::move(pathtext), - st::settingsButtonNoIcon, + st::settingsButton, tr::lng_download_path()); path->entity()->addClickHandler([=] { controller->show(Box(controller)); }); - path->toggleOn(ask->toggledValue() | rpl::map(!_1)); #endif // OS_WIN_STORE + SetupLocalStorage(controller, container); + + AddButton( + container, + rpl::single(u"Downloads"_q), + st::settingsButton, + { &st::settingsIconDownload, kIconPurple } + )->setClickedCallback([=] { + }); + + const auto ask = AddButton( + container, + tr::lng_download_path_ask(), + st::settingsButtonNoIcon + )->toggleOn(rpl::single(Core::App().settings().askDownloadPath())); + ask->toggledValue( ) | rpl::filter([](bool checked) { return (checked != Core::App().settings().askDownloadPath()); @@ -902,8 +921,9 @@ void SetupDataStorage( }, ask->lifetime()); - SetupLocalStorage(controller, container); - SetupExport(controller, container); +#ifndef OS_WIN_STORE + path->toggleOn(ask->toggledValue() | rpl::map(!_1)); +#endif // OS_WIN_STORE AddSkip(container, st::settingsCheckboxesSkip); } @@ -917,19 +937,32 @@ void SetupAutoDownload( AddSubsectionTitle(container, tr::lng_media_auto_settings()); using Source = Data::AutoDownload::Source; - const auto add = [&](rpl::producer label, Source source) { + const auto add = [&]( + rpl::producer label, + Source source, + IconDescriptor &&descriptor) { AddButton( container, std::move(label), - st::settingsButtonNoIcon + st::settingsButton, + std::move(descriptor) )->addClickHandler([=] { controller->show( Box(&controller->session(), source)); }); }; - add(tr::lng_media_auto_in_private(), Source::User); - add(tr::lng_media_auto_in_groups(), Source::Group); - add(tr::lng_media_auto_in_channels(), Source::Channel); + add( + tr::lng_media_auto_in_private(), + Source::User, + { &st::settingsIconUser, kIconLightBlue }); + add( + tr::lng_media_auto_in_groups(), + Source::Group, + { &st::settingsIconGroup, kIconGreen }); + add( + tr::lng_media_auto_in_channels(), + Source::Channel, + { &st::settingsIconChannel, kIconLightOrange }); AddSkip(container, st::settingsCheckboxesSkip); } diff --git a/Telegram/SourceFiles/settings/settings_chat.h b/Telegram/SourceFiles/settings/settings_chat.h index a972ca720..ff2153b91 100644 --- a/Telegram/SourceFiles/settings/settings_chat.h +++ b/Telegram/SourceFiles/settings/settings_chat.h @@ -27,6 +27,9 @@ void SetupDefaultThemes( void SetupSupport( not_null controller, not_null container); +void SetupExport( + not_null controller, + not_null container); class Chat : public Section { public: diff --git a/Telegram/SourceFiles/window/window_main_menu.cpp b/Telegram/SourceFiles/window/window_main_menu.cpp index e409b2c24..0dc25e418 100644 --- a/Telegram/SourceFiles/window/window_main_menu.cpp +++ b/Telegram/SourceFiles/window/window_main_menu.cpp @@ -972,7 +972,7 @@ void MainMenu::setupMenu() { }); addAction( tr::lng_menu_contacts(), - { &st::settingsIconContacts, kIconRed } + { &st::settingsIconUser, kIconRed } )->setClickedCallback([=] { controller->show(PrepareContactsBox(controller)); }); @@ -993,7 +993,7 @@ void MainMenu::setupMenu() { } else { addAction( tr::lng_profile_add_contact(), - { &st::settingsIconContacts, kIconRed } + { &st::settingsIconUser, kIconRed } )->setClickedCallback([=] { controller->showAddContact(); });