diff --git a/Telegram/CMakeLists.txt b/Telegram/CMakeLists.txt
index 2a6da282f..0923dbb19 100644
--- a/Telegram/CMakeLists.txt
+++ b/Telegram/CMakeLists.txt
@@ -1222,13 +1222,13 @@ if (LINUX AND DESKTOP_APP_USE_PACKAGED)
include(GNUInstallDirs)
configure_file("../lib/xdg/kotatogramdesktop.appdata.xml.in" "${CMAKE_CURRENT_BINARY_DIR}/kotatogramdesktop.appdata.xml" @ONLY)
install(TARGETS Telegram RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" BUNDLE DESTINATION "${CMAKE_INSTALL_BINDIR}")
- install(FILES "Resources/art/icon16.png" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/16x16/apps" RENAME "telegram.png")
- install(FILES "Resources/art/icon32.png" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/32x32/apps" RENAME "telegram.png")
- install(FILES "Resources/art/icon48.png" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/48x48/apps" RENAME "telegram.png")
- install(FILES "Resources/art/icon64.png" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/64x64/apps" RENAME "telegram.png")
- install(FILES "Resources/art/icon128.png" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/128x128/apps" RENAME "telegram.png")
- install(FILES "Resources/art/icon256.png" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/256x256/apps" RENAME "telegram.png")
- install(FILES "Resources/art/icon512.png" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/512x512/apps" RENAME "telegram.png")
+ install(FILES "Resources/art/icon16.png" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/16x16/apps" RENAME "kotatogram.png")
+ install(FILES "Resources/art/icon32.png" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/32x32/apps" RENAME "kotatogram.png")
+ install(FILES "Resources/art/icon48.png" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/48x48/apps" RENAME "kotatogram.png")
+ install(FILES "Resources/art/icon64.png" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/64x64/apps" RENAME "kotatogram.png")
+ install(FILES "Resources/art/icon128.png" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/128x128/apps" RENAME "kotatogram.png")
+ install(FILES "Resources/art/icon256.png" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/256x256/apps" RENAME "kotatogram.png")
+ install(FILES "Resources/art/icon512.png" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/512x512/apps" RENAME "kotatogram.png")
install(FILES "../lib/xdg/kotatogramdesktop.desktop" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/applications" RENAME "${TDESKTOP_LAUNCHER_BASENAME}.desktop")
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/kotatogramdesktop.appdata.xml" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/metainfo" RENAME "${TDESKTOP_LAUNCHER_BASENAME}.appdata.xml")
endif()
diff --git a/Telegram/Resources/art/favicon.ico b/Telegram/Resources/art/favicon.ico
index 7a3551000..7b494a561 100644
Binary files a/Telegram/Resources/art/favicon.ico and b/Telegram/Resources/art/favicon.ico differ
diff --git a/Telegram/Resources/art/icon128.png b/Telegram/Resources/art/icon128.png
index 59e7e25b3..1db40ee4a 100644
Binary files a/Telegram/Resources/art/icon128.png and b/Telegram/Resources/art/icon128.png differ
diff --git a/Telegram/Resources/art/icon128@2x.png b/Telegram/Resources/art/icon128@2x.png
index f4616cc30..fbcd6fab6 100644
Binary files a/Telegram/Resources/art/icon128@2x.png and b/Telegram/Resources/art/icon128@2x.png differ
diff --git a/Telegram/Resources/art/icon16.png b/Telegram/Resources/art/icon16.png
index b753bbb18..f3a82511a 100644
Binary files a/Telegram/Resources/art/icon16.png and b/Telegram/Resources/art/icon16.png differ
diff --git a/Telegram/Resources/art/icon16@2x.png b/Telegram/Resources/art/icon16@2x.png
index c19f3b6db..cbd1e33bf 100644
Binary files a/Telegram/Resources/art/icon16@2x.png and b/Telegram/Resources/art/icon16@2x.png differ
diff --git a/Telegram/Resources/art/icon256.ico b/Telegram/Resources/art/icon256.ico
index 4749c1f79..b60051a74 100644
Binary files a/Telegram/Resources/art/icon256.ico and b/Telegram/Resources/art/icon256.ico differ
diff --git a/Telegram/Resources/art/icon256.png b/Telegram/Resources/art/icon256.png
index 5ecf12d4a..284b4faf1 100644
Binary files a/Telegram/Resources/art/icon256.png and b/Telegram/Resources/art/icon256.png differ
diff --git a/Telegram/Resources/art/icon256@2x.png b/Telegram/Resources/art/icon256@2x.png
index ef4fc7d25..be31e89d5 100644
Binary files a/Telegram/Resources/art/icon256@2x.png and b/Telegram/Resources/art/icon256@2x.png differ
diff --git a/Telegram/Resources/art/icon256blue.ico b/Telegram/Resources/art/icon256blue.ico
new file mode 100644
index 000000000..4b0b5a396
Binary files /dev/null and b/Telegram/Resources/art/icon256blue.ico differ
diff --git a/Telegram/Resources/art/icon256green.ico b/Telegram/Resources/art/icon256green.ico
new file mode 100644
index 000000000..de7bdc7cf
Binary files /dev/null and b/Telegram/Resources/art/icon256green.ico differ
diff --git a/Telegram/Resources/art/icon256old.ico b/Telegram/Resources/art/icon256old.ico
new file mode 100644
index 000000000..4749c1f79
Binary files /dev/null and b/Telegram/Resources/art/icon256old.ico differ
diff --git a/Telegram/Resources/art/icon256orange.ico b/Telegram/Resources/art/icon256orange.ico
new file mode 100644
index 000000000..639f37e4a
Binary files /dev/null and b/Telegram/Resources/art/icon256orange.ico differ
diff --git a/Telegram/Resources/art/icon256red.ico b/Telegram/Resources/art/icon256red.ico
new file mode 100644
index 000000000..a5e333fce
Binary files /dev/null and b/Telegram/Resources/art/icon256red.ico differ
diff --git a/Telegram/Resources/art/icon32.png b/Telegram/Resources/art/icon32.png
index 66868915e..8fc510ca1 100644
Binary files a/Telegram/Resources/art/icon32.png and b/Telegram/Resources/art/icon32.png differ
diff --git a/Telegram/Resources/art/icon32@2x.png b/Telegram/Resources/art/icon32@2x.png
index 74697abfd..1a8782642 100644
Binary files a/Telegram/Resources/art/icon32@2x.png and b/Telegram/Resources/art/icon32@2x.png differ
diff --git a/Telegram/Resources/art/icon48.png b/Telegram/Resources/art/icon48.png
index 5e214df0a..f09e9df7f 100644
Binary files a/Telegram/Resources/art/icon48.png and b/Telegram/Resources/art/icon48.png differ
diff --git a/Telegram/Resources/art/icon48@2x.png b/Telegram/Resources/art/icon48@2x.png
index fb526b10c..a647177ed 100644
Binary files a/Telegram/Resources/art/icon48@2x.png and b/Telegram/Resources/art/icon48@2x.png differ
diff --git a/Telegram/Resources/art/icon512.png b/Telegram/Resources/art/icon512.png
index 28c5b8685..b34f7f4b7 100644
Binary files a/Telegram/Resources/art/icon512.png and b/Telegram/Resources/art/icon512.png differ
diff --git a/Telegram/Resources/art/icon512@2x.png b/Telegram/Resources/art/icon512@2x.png
index d9ae73b8e..3d4284673 100644
Binary files a/Telegram/Resources/art/icon512@2x.png and b/Telegram/Resources/art/icon512@2x.png differ
diff --git a/Telegram/Resources/art/icon512_blue@2x.png b/Telegram/Resources/art/icon512_blue@2x.png
new file mode 100644
index 000000000..65a165c8e
Binary files /dev/null and b/Telegram/Resources/art/icon512_blue@2x.png differ
diff --git a/Telegram/Resources/art/icon512_green@2x.png b/Telegram/Resources/art/icon512_green@2x.png
new file mode 100644
index 000000000..569e49ae7
Binary files /dev/null and b/Telegram/Resources/art/icon512_green@2x.png differ
diff --git a/Telegram/Resources/art/icon512_orange@2x.png b/Telegram/Resources/art/icon512_orange@2x.png
new file mode 100644
index 000000000..791d1cbbb
Binary files /dev/null and b/Telegram/Resources/art/icon512_orange@2x.png differ
diff --git a/Telegram/Resources/art/icon512_red@2x.png b/Telegram/Resources/art/icon512_red@2x.png
new file mode 100644
index 000000000..89e557c77
Binary files /dev/null and b/Telegram/Resources/art/icon512_red@2x.png differ
diff --git a/Telegram/Resources/art/icon64.png b/Telegram/Resources/art/icon64.png
index 7fea82e8f..d20e69907 100644
Binary files a/Telegram/Resources/art/icon64.png and b/Telegram/Resources/art/icon64.png differ
diff --git a/Telegram/Resources/art/icon64@2x.png b/Telegram/Resources/art/icon64@2x.png
index 8a55764f0..34512d22e 100644
Binary files a/Telegram/Resources/art/icon64@2x.png and b/Telegram/Resources/art/icon64@2x.png differ
diff --git a/Telegram/Resources/art/logo_256.png b/Telegram/Resources/art/logo_256.png
index e03acca61..fdc1a2fe8 100644
Binary files a/Telegram/Resources/art/logo_256.png and b/Telegram/Resources/art/logo_256.png differ
diff --git a/Telegram/Resources/art/logo_256_blue.png b/Telegram/Resources/art/logo_256_blue.png
new file mode 100644
index 000000000..8443bd4da
Binary files /dev/null and b/Telegram/Resources/art/logo_256_blue.png differ
diff --git a/Telegram/Resources/art/logo_256_green.png b/Telegram/Resources/art/logo_256_green.png
new file mode 100644
index 000000000..90688030b
Binary files /dev/null and b/Telegram/Resources/art/logo_256_green.png differ
diff --git a/Telegram/Resources/art/logo_256_no_margin.png b/Telegram/Resources/art/logo_256_no_margin.png
index 1d4b3d4c2..c48e472e4 100644
Binary files a/Telegram/Resources/art/logo_256_no_margin.png and b/Telegram/Resources/art/logo_256_no_margin.png differ
diff --git a/Telegram/Resources/art/logo_256_no_margin_blue.png b/Telegram/Resources/art/logo_256_no_margin_blue.png
new file mode 100644
index 000000000..b772365cf
Binary files /dev/null and b/Telegram/Resources/art/logo_256_no_margin_blue.png differ
diff --git a/Telegram/Resources/art/logo_256_no_margin_green.png b/Telegram/Resources/art/logo_256_no_margin_green.png
new file mode 100644
index 000000000..0522cde26
Binary files /dev/null and b/Telegram/Resources/art/logo_256_no_margin_green.png differ
diff --git a/Telegram/Resources/art/logo_256_no_margin_old.png b/Telegram/Resources/art/logo_256_no_margin_old.png
new file mode 100644
index 000000000..1d4b3d4c2
Binary files /dev/null and b/Telegram/Resources/art/logo_256_no_margin_old.png differ
diff --git a/Telegram/Resources/art/logo_256_no_margin_orange.png b/Telegram/Resources/art/logo_256_no_margin_orange.png
new file mode 100644
index 000000000..b13d32d09
Binary files /dev/null and b/Telegram/Resources/art/logo_256_no_margin_orange.png differ
diff --git a/Telegram/Resources/art/logo_256_no_margin_red.png b/Telegram/Resources/art/logo_256_no_margin_red.png
new file mode 100644
index 000000000..36b08072e
Binary files /dev/null and b/Telegram/Resources/art/logo_256_no_margin_red.png differ
diff --git a/Telegram/Resources/art/logo_256_old.png b/Telegram/Resources/art/logo_256_old.png
new file mode 100644
index 000000000..e03acca61
Binary files /dev/null and b/Telegram/Resources/art/logo_256_old.png differ
diff --git a/Telegram/Resources/art/logo_256_orange.png b/Telegram/Resources/art/logo_256_orange.png
new file mode 100644
index 000000000..888d9cba1
Binary files /dev/null and b/Telegram/Resources/art/logo_256_orange.png differ
diff --git a/Telegram/Resources/art/logo_256_red.png b/Telegram/Resources/art/logo_256_red.png
new file mode 100644
index 000000000..6a8fa31f9
Binary files /dev/null and b/Telegram/Resources/art/logo_256_red.png differ
diff --git a/Telegram/Resources/icons/intro_kotato_top.png b/Telegram/Resources/icons/intro_kotato_top.png
new file mode 100644
index 000000000..33d9e867c
Binary files /dev/null and b/Telegram/Resources/icons/intro_kotato_top.png differ
diff --git a/Telegram/Resources/icons/intro_kotato_top@2x.png b/Telegram/Resources/icons/intro_kotato_top@2x.png
new file mode 100644
index 000000000..62da7ed30
Binary files /dev/null and b/Telegram/Resources/icons/intro_kotato_top@2x.png differ
diff --git a/Telegram/Resources/icons/intro_kotato_top@3x.png b/Telegram/Resources/icons/intro_kotato_top@3x.png
new file mode 100644
index 000000000..1d3bc1826
Binary files /dev/null and b/Telegram/Resources/icons/intro_kotato_top@3x.png differ
diff --git a/Telegram/Resources/icons/intro_kotato_trace.png b/Telegram/Resources/icons/intro_kotato_trace.png
new file mode 100644
index 000000000..d2ed4c495
Binary files /dev/null and b/Telegram/Resources/icons/intro_kotato_trace.png differ
diff --git a/Telegram/Resources/icons/intro_kotato_trace@2x.png b/Telegram/Resources/icons/intro_kotato_trace@2x.png
new file mode 100644
index 000000000..1f21f7c21
Binary files /dev/null and b/Telegram/Resources/icons/intro_kotato_trace@2x.png differ
diff --git a/Telegram/Resources/icons/intro_kotato_trace@3x.png b/Telegram/Resources/icons/intro_kotato_trace@3x.png
new file mode 100644
index 000000000..68b71f9ec
Binary files /dev/null and b/Telegram/Resources/icons/intro_kotato_trace@3x.png differ
diff --git a/Telegram/Resources/icons/mac_tray_icon.png b/Telegram/Resources/icons/mac_tray_icon.png
index 5a812fb64..f26e11c2d 100644
Binary files a/Telegram/Resources/icons/mac_tray_icon.png and b/Telegram/Resources/icons/mac_tray_icon.png differ
diff --git a/Telegram/Resources/icons/mac_tray_icon@2x.png b/Telegram/Resources/icons/mac_tray_icon@2x.png
index 968fcc6eb..16f01dc4d 100644
Binary files a/Telegram/Resources/icons/mac_tray_icon@2x.png and b/Telegram/Resources/icons/mac_tray_icon@2x.png differ
diff --git a/Telegram/Resources/icons/mac_tray_icon@3x.png b/Telegram/Resources/icons/mac_tray_icon@3x.png
index 49d95a3d0..696b77239 100644
Binary files a/Telegram/Resources/icons/mac_tray_icon@3x.png and b/Telegram/Resources/icons/mac_tray_icon@3x.png differ
diff --git a/Telegram/Resources/icons/settings_kotato.png b/Telegram/Resources/icons/settings_kotato.png
index 972896188..80f8439f2 100644
Binary files a/Telegram/Resources/icons/settings_kotato.png and b/Telegram/Resources/icons/settings_kotato.png differ
diff --git a/Telegram/Resources/icons/settings_kotato@2x.png b/Telegram/Resources/icons/settings_kotato@2x.png
index 39f327c83..d2e46778e 100644
Binary files a/Telegram/Resources/icons/settings_kotato@2x.png and b/Telegram/Resources/icons/settings_kotato@2x.png differ
diff --git a/Telegram/Resources/icons/settings_kotato@3x.png b/Telegram/Resources/icons/settings_kotato@3x.png
index 6aed3ff98..f2613626d 100644
Binary files a/Telegram/Resources/icons/settings_kotato@3x.png and b/Telegram/Resources/icons/settings_kotato@3x.png differ
diff --git a/Telegram/Resources/icons/settings_kotato_old.png b/Telegram/Resources/icons/settings_kotato_old.png
new file mode 100644
index 000000000..972896188
Binary files /dev/null and b/Telegram/Resources/icons/settings_kotato_old.png differ
diff --git a/Telegram/Resources/icons/settings_kotato_old@2x.png b/Telegram/Resources/icons/settings_kotato_old@2x.png
new file mode 100644
index 000000000..39f327c83
Binary files /dev/null and b/Telegram/Resources/icons/settings_kotato_old@2x.png differ
diff --git a/Telegram/Resources/icons/settings_kotato_old@3x.png b/Telegram/Resources/icons/settings_kotato_old@3x.png
new file mode 100644
index 000000000..6aed3ff98
Binary files /dev/null and b/Telegram/Resources/icons/settings_kotato_old@3x.png differ
diff --git a/Telegram/Resources/qrc/telegram/telegram.qrc b/Telegram/Resources/qrc/telegram/telegram.qrc
index ec7bbf2a4..daacdb128 100644
--- a/Telegram/Resources/qrc/telegram/telegram.qrc
+++ b/Telegram/Resources/qrc/telegram/telegram.qrc
@@ -45,7 +45,17 @@
../../art/bg.jpg
../../art/bg_initial.jpg
../../art/logo_256.png
+ ../../art/logo_256_blue.png
+ ../../art/logo_256_green.png
+ ../../art/logo_256_orange.png
+ ../../art/logo_256_red.png
+ ../../art/logo_256_old.png
../../art/logo_256_no_margin.png
+ ../../art/logo_256_no_margin_blue.png
+ ../../art/logo_256_no_margin_green.png
+ ../../art/logo_256_no_margin_orange.png
+ ../../art/logo_256_no_margin_red.png
+ ../../art/logo_256_no_margin_old.png
../../art/sunrise.jpg
../../day-blue.tdesktop-theme
../../night.tdesktop-theme
diff --git a/Telegram/Resources/winrc/Telegram.rc b/Telegram/Resources/winrc/Telegram.rc
index f02b0627c..9cd1c9b19 100644
--- a/Telegram/Resources/winrc/Telegram.rc
+++ b/Telegram/Resources/winrc/Telegram.rc
@@ -26,6 +26,11 @@ LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
// Icon with lowest ID value placed first to ensure application icon
// remains consistent on all systems.
IDI_ICON1 ICON "..\\art\\icon256.ico"
+IDI_ICON2 ICON "..\\art\\icon256blue.ico"
+IDI_ICON3 ICON "..\\art\\icon256green.ico"
+IDI_ICON4 ICON "..\\art\\icon256orange.ico"
+IDI_ICON5 ICON "..\\art\\icon256red.ico"
+IDI_ICON6 ICON "..\\art\\icon256old.ico"
/////////////////////////////////////////////////////////////////////////////
//
diff --git a/Telegram/SourceFiles/core/application.cpp b/Telegram/SourceFiles/core/application.cpp
index 0898544a3..f1cb2a906 100644
--- a/Telegram/SourceFiles/core/application.cpp
+++ b/Telegram/SourceFiles/core/application.cpp
@@ -98,9 +98,29 @@ Application::Application(not_null launcher)
, _emojiKeywords(std::make_unique())
, _audio(std::make_unique())
, _logo(Window::LoadLogo())
-, _logoNoMargin(Window::LoadLogoNoMargin()) {
+, _logoBlue(Window::LoadLogo(1))
+, _logoGreen(Window::LoadLogo(2))
+, _logoOrange(Window::LoadLogo(3))
+, _logoRed(Window::LoadLogo(4))
+, _logoOld(Window::LoadLogo(5))
+, _logoNoMargin(Window::LoadLogoNoMargin())
+, _logoNoMarginBlue(Window::LoadLogoNoMargin(1))
+, _logoNoMarginGreen(Window::LoadLogoNoMargin(2))
+, _logoNoMarginOrange(Window::LoadLogoNoMargin(3))
+, _logoNoMarginRed(Window::LoadLogoNoMargin(4))
+, _logoNoMarginOld(Window::LoadLogoNoMargin(5)) {
Expects(!_logo.isNull());
+ Expects(!_logoBlue.isNull());
+ Expects(!_logoGreen.isNull());
+ Expects(!_logoOrange.isNull());
+ Expects(!_logoRed.isNull());
+ Expects(!_logoOld.isNull());
Expects(!_logoNoMargin.isNull());
+ Expects(!_logoNoMarginBlue.isNull());
+ Expects(!_logoNoMarginGreen.isNull());
+ Expects(!_logoNoMarginOrange.isNull());
+ Expects(!_logoNoMarginRed.isNull());
+ Expects(!_logoNoMarginOld.isNull());
Ui::Integration::Set(&_private->uiIntegration);
diff --git a/Telegram/SourceFiles/core/application.h b/Telegram/SourceFiles/core/application.h
index dd0b1a805..206543601 100644
--- a/Telegram/SourceFiles/core/application.h
+++ b/Telegram/SourceFiles/core/application.h
@@ -115,10 +115,26 @@ public:
PeerData *ui_getPeerForMouseAction();
QPoint getPointForCallPanelCenter() const;
- QImage logo() const {
+ QImage logo(int variant = 0) const {
+ switch (variant) {
+ case 1: return _logoBlue;
+ case 2: return _logoGreen;
+ case 3: return _logoOrange;
+ case 4: return _logoRed;
+ case 5: return _logoOld;
+ }
+
return _logo;
}
- QImage logoNoMargin() const {
+ QImage logoNoMargin(int variant = 0) const {
+ switch (variant) {
+ case 1: return _logoNoMarginBlue;
+ case 2: return _logoNoMarginGreen;
+ case 3: return _logoNoMarginOrange;
+ case 4: return _logoNoMarginRed;
+ case 5: return _logoNoMarginOld;
+ }
+
return _logoNoMargin;
}
@@ -281,7 +297,17 @@ private:
const std::unique_ptr _audio;
const QImage _logo;
+ const QImage _logoBlue;
+ const QImage _logoGreen;
+ const QImage _logoOrange;
+ const QImage _logoRed;
+ const QImage _logoOld;
const QImage _logoNoMargin;
+ const QImage _logoNoMarginBlue;
+ const QImage _logoNoMarginGreen;
+ const QImage _logoNoMarginOrange;
+ const QImage _logoNoMarginRed;
+ const QImage _logoNoMarginOld;
rpl::variable _passcodeLock;
rpl::event_stream _termsLockChanges;
diff --git a/Telegram/SourceFiles/core/kotato_settings.cpp b/Telegram/SourceFiles/core/kotato_settings.cpp
index 64f517cff..1ab5e2484 100644
--- a/Telegram/SourceFiles/core/kotato_settings.cpp
+++ b/Telegram/SourceFiles/core/kotato_settings.cpp
@@ -327,6 +327,12 @@ bool Manager::readCustomFile() {
ReadBoolOption(settings, "always_show_top_userpic", [&](auto v) {
cSetShowTopBarUserpic(v);
});
+
+ ReadIntOption(settings, "custom_app_icon", [&](auto v) {
+ if (v >= 0 || v <= 5) {
+ cSetCustomAppIcon(v);
+ }
+ });
return true;
}
@@ -370,6 +376,7 @@ void Manager::writeDefaultFile() {
settings.insert(qsl("recent_stickers_limit"), RecentStickersLimit());
settings.insert(qsl("userpic_corner_type"), cUserpicCornersType());
settings.insert(qsl("always_show_top_userpic"), cShowTopBarUserpic());
+ settings.insert(qsl("custom_app_icon"), cCustomAppIcon());
auto settingsScales = QJsonArray();
settings.insert(qsl("scales"), settingsScales);
@@ -434,6 +441,7 @@ void Manager::writeCurrentSettings() {
settings.insert(qsl("recent_stickers_limit"), RecentStickersLimit());
settings.insert(qsl("userpic_corner_type"), cUserpicCornersType());
settings.insert(qsl("always_show_top_userpic"), cShowTopBarUserpic());
+ settings.insert(qsl("custom_app_icon"), cCustomAppIcon());
auto settingsScales = QJsonArray();
auto currentScales = cInterfaceScales();
diff --git a/Telegram/SourceFiles/data/data_peer.cpp b/Telegram/SourceFiles/data/data_peer.cpp
index b0a9c6b4d..99f81e9fc 100644
--- a/Telegram/SourceFiles/data/data_peer.cpp
+++ b/Telegram/SourceFiles/data/data_peer.cpp
@@ -377,7 +377,7 @@ void PeerData::clearUserpic() {
const auto loc = StorageImageLocation();
const auto photo = [&] {
if (isNotificationsUser()) {
- auto image = Core::App().logoNoMargin().scaledToWidth(
+ auto image = Core::App().logoNoMargin(cCustomAppIcon()).scaledToWidth(
kUserpicSize,
Qt::SmoothTransformation);
return _userpic
diff --git a/Telegram/SourceFiles/intro/intro.style b/Telegram/SourceFiles/intro/intro.style
index 59ff6e7d3..9b462d5c2 100644
--- a/Telegram/SourceFiles/intro/intro.style
+++ b/Telegram/SourceFiles/intro/intro.style
@@ -21,6 +21,10 @@ introCoverIcon: icon {
{ "intro_plane_outer", introCoverPlaneOuter },
{ "intro_plane_top", introCoverPlaneTop },
};
+introKotatoCoverIcon: icon {
+ { "intro_kotato_trace", introCoverPlaneTrace },
+ { "intro_kotato_top", introCoverPlaneTop },
+};
introCoverIconLeft: 50px;
introCoverIconTop: 46px;
diff --git a/Telegram/SourceFiles/intro/intro_step.cpp b/Telegram/SourceFiles/intro/intro_step.cpp
index 0ad9d7da5..b21b19d8f 100644
--- a/Telegram/SourceFiles/intro/intro_step.cpp
+++ b/Telegram/SourceFiles/intro/intro_step.cpp
@@ -340,7 +340,7 @@ void Step::paintCover(Painter &p, int top) {
st::introCoverLeft.paint(p, left, coverHeight - st::introCoverLeft.height(), width());
st::introCoverRight.paint(p, width() - right - st::introCoverRight.width(), coverHeight - st::introCoverRight.height(), width());
- auto planeLeft = (width() - st::introCoverIcon.width()) / 2 - st::introCoverIconLeft;
+ auto planeLeft = (width() - st::introKotatoCoverIcon.width()) / 2 - st::introCoverIconLeft;
auto planeTop = top + st::introCoverIconTop;
if (top < 0 && !_hasCover) {
auto deltaLeft = -qRound(float64(st::introPlaneWidth / st::introPlaneHeight) * top);
@@ -348,7 +348,7 @@ void Step::paintCover(Painter &p, int top) {
planeLeft += deltaLeft;
// planeTop += top;
}
- st::introCoverIcon.paint(p, planeLeft, planeTop, width());
+ st::introKotatoCoverIcon.paint(p, planeLeft, planeTop, width());
}
int Step::contentLeft() const {
diff --git a/Telegram/SourceFiles/mainwindow.cpp b/Telegram/SourceFiles/mainwindow.cpp
index 47cb3b6e3..f7b30c82c 100644
--- a/Telegram/SourceFiles/mainwindow.cpp
+++ b/Telegram/SourceFiles/mainwindow.cpp
@@ -81,7 +81,7 @@ MainWindow::MainWindow(not_null controller)
QImage iconImage(cWorkingDir() + "tdata/icon.png");
auto logo = iconImage.isNull()
- ? Core::App().logo()
+ ? Core::App().logo(cCustomAppIcon())
: iconImage;
icon16 = logo.scaledToWidth(16, Qt::SmoothTransformation);
@@ -89,7 +89,7 @@ MainWindow::MainWindow(not_null controller)
icon64 = logo.scaledToWidth(64, Qt::SmoothTransformation);
auto logoNoMargin = iconImage.isNull()
- ? Core::App().logoNoMargin()
+ ? Core::App().logoNoMargin(cCustomAppIcon())
: iconImage;
iconbig16 = logoNoMargin.scaledToWidth(16, Qt::SmoothTransformation);
diff --git a/Telegram/SourceFiles/platform/linux/main_window_linux.cpp b/Telegram/SourceFiles/platform/linux/main_window_linux.cpp
index 17b2f0b3e..73caee832 100644
--- a/Telegram/SourceFiles/platform/linux/main_window_linux.cpp
+++ b/Telegram/SourceFiles/platform/linux/main_window_linux.cpp
@@ -200,7 +200,7 @@ QIcon TrayIconGen(int counter, bool muted) {
} else {
currentImageBack = QImage(cWorkingDir() + "tdata/icon.png");
if (currentImageBack.isNull()) {
- currentImageBack = Core::App().logo();
+ currentImageBack = Core::App().logo(cCustomAppIcon());
}
}
diff --git a/Telegram/SourceFiles/platform/win/main_window_win.cpp b/Telegram/SourceFiles/platform/win/main_window_win.cpp
index 53e699d9b..0e0164fd6 100644
--- a/Telegram/SourceFiles/platform/win/main_window_win.cpp
+++ b/Telegram/SourceFiles/platform/win/main_window_win.cpp
@@ -686,7 +686,7 @@ void MainWindow::psSetupTrayIcon() {
trayIcon = new QSystemTrayIcon(this);
auto icon = QIcon(cWorkingDir() + "tdata/icon.png");
if (icon.isNull()) {
- icon = QIcon(App::pixmapFromImageInPlace(Core::App().logoNoMargin()));
+ icon = QIcon(App::pixmapFromImageInPlace(Core::App().logoNoMargin(cCustomAppIcon())));
}
trayIcon->setIcon(icon);
diff --git a/Telegram/SourceFiles/settings.cpp b/Telegram/SourceFiles/settings.cpp
index 8e859a54b..4b60a46d4 100644
--- a/Telegram/SourceFiles/settings.cpp
+++ b/Telegram/SourceFiles/settings.cpp
@@ -318,3 +318,4 @@ rpl::producer RecentStickersLimitChanges() {
int gUserpicCornersType = 3;
bool gShowTopBarUserpic = false;
+int gCustomAppIcon = 0;
diff --git a/Telegram/SourceFiles/settings.h b/Telegram/SourceFiles/settings.h
index dce080b97..bedeba54c 100644
--- a/Telegram/SourceFiles/settings.h
+++ b/Telegram/SourceFiles/settings.h
@@ -248,3 +248,4 @@ void SetRecentStickersLimit(int limit);
DeclareSetting(int, UserpicCornersType);
DeclareSetting(bool, ShowTopBarUserpic);
+DeclareSetting(int, CustomAppIcon);
diff --git a/Telegram/SourceFiles/settings/settings.style b/Telegram/SourceFiles/settings/settings.style
index e4e22d777..28b5654cb 100644
--- a/Telegram/SourceFiles/settings/settings.style
+++ b/Telegram/SourceFiles/settings/settings.style
@@ -61,6 +61,7 @@ settingsIconStickers: icon {{ "settings_stickers", menuIconFg }};
settingsIconEmoji: icon {{ "settings_emoji", menuIconFg }};
settingsIconThemes: icon {{ "settings_themes", menuIconFg }};
settingsIconKotato: icon {{ "settings_kotato", menuIconFg }};
+settingsIconKotatoOld: icon {{ "settings_kotato_old", menuIconFg }};
settingsSetPhotoSkip: 7px;
diff --git a/Telegram/SourceFiles/settings/settings_main.cpp b/Telegram/SourceFiles/settings/settings_main.cpp
index 006e436ea..0b707cab7 100644
--- a/Telegram/SourceFiles/settings/settings_main.cpp
+++ b/Telegram/SourceFiles/settings/settings_main.cpp
@@ -108,7 +108,9 @@ void SetupSections(
addSection(
tr::ktg_settings_kotato(),
Type::Kotato,
- &st::settingsIconKotato);
+ (cCustomAppIcon() == 5
+ ? &st::settingsIconKotatoOld
+ : &st::settingsIconKotato));
SetupLanguageButton(container);
diff --git a/Telegram/SourceFiles/settings/settings_notifications.cpp b/Telegram/SourceFiles/settings/settings_notifications.cpp
index 96b712523..6048848fb 100644
--- a/Telegram/SourceFiles/settings/settings_notifications.cpp
+++ b/Telegram/SourceFiles/settings/settings_notifications.cpp
@@ -251,7 +251,7 @@ void NotificationsCount::prepareNotificationSampleSmall() {
void NotificationsCount::prepareNotificationSampleUserpic() {
if (_notificationSampleUserpic.isNull()) {
_notificationSampleUserpic = App::pixmapFromImageInPlace(
- Core::App().logoNoMargin().scaled(
+ Core::App().logoNoMargin(cCustomAppIcon()).scaled(
st::notifyPhotoSize * cIntRetinaFactor(),
st::notifyPhotoSize * cIntRetinaFactor(),
Qt::IgnoreAspectRatio,
diff --git a/Telegram/SourceFiles/window/main_window.cpp b/Telegram/SourceFiles/window/main_window.cpp
index 531733b03..2dd4e18ca 100644
--- a/Telegram/SourceFiles/window/main_window.cpp
+++ b/Telegram/SourceFiles/window/main_window.cpp
@@ -49,12 +49,24 @@ constexpr auto kSaveWindowPositionTimeout = crl::time(1000);
} // namespace
-QImage LoadLogo() {
- return QImage(qsl(":/gui/art/logo_256.png"));
+QString LogoVariant(int variant) {
+ switch (variant) {
+ case 1: return QString("_blue");
+ case 2: return QString("_green");
+ case 3: return QString("_orange");
+ case 4: return QString("_red");
+ case 5: return QString("_old");
+ }
+
+ return QString();
}
-QImage LoadLogoNoMargin() {
- return QImage(qsl(":/gui/art/logo_256_no_margin.png"));
+QImage LoadLogo(int variant) {
+ return QImage(qsl(":/gui/art/logo_256%1.png").arg(LogoVariant(variant)));
+}
+
+QImage LoadLogoNoMargin(int variant) {
+ return QImage(qsl(":/gui/art/logo_256_no_margin%1.png").arg(LogoVariant(variant)));
}
void ConvertIconToBlack(QImage &image) {
@@ -106,7 +118,7 @@ void ConvertIconToBlack(QImage &image) {
}
QIcon CreateOfficialIcon(Main::Account *account) {
- auto image = Core::IsAppLaunched() ? Core::App().logo() : LoadLogo();
+ auto image = Core::IsAppLaunched() ? Core::App().logo(cCustomAppIcon()) : LoadLogo(cCustomAppIcon());
if (account
&& account->sessionExists()
&& account->session().supportMode()) {
diff --git a/Telegram/SourceFiles/window/main_window.h b/Telegram/SourceFiles/window/main_window.h
index 3282483f0..17c12b462 100644
--- a/Telegram/SourceFiles/window/main_window.h
+++ b/Telegram/SourceFiles/window/main_window.h
@@ -29,8 +29,9 @@ class SessionController;
class TitleWidget;
struct TermsLock;
-QImage LoadLogo();
-QImage LoadLogoNoMargin();
+QString LogoVariant(int variant = 0);
+QImage LoadLogo(int variant = 0);
+QImage LoadLogoNoMargin(int variant = 0);
QIcon CreateIcon(Main::Account *account = nullptr);
void ConvertIconToBlack(QImage &image);
diff --git a/Telegram/SourceFiles/window/notifications_manager_default.cpp b/Telegram/SourceFiles/window/notifications_manager_default.cpp
index 0d19e5ac7..965da1904 100644
--- a/Telegram/SourceFiles/window/notifications_manager_default.cpp
+++ b/Telegram/SourceFiles/window/notifications_manager_default.cpp
@@ -88,7 +88,7 @@ Manager::QueuedNotification::QueuedNotification(
QPixmap Manager::hiddenUserpicPlaceholder() const {
if (_hiddenUserpicPlaceholder.isNull()) {
- _hiddenUserpicPlaceholder = App::pixmapFromImageInPlace(Core::App().logoNoMargin().scaled(st::notifyPhotoSize, st::notifyPhotoSize, Qt::IgnoreAspectRatio, Qt::SmoothTransformation));
+ _hiddenUserpicPlaceholder = App::pixmapFromImageInPlace(Core::App().logoNoMargin(cCustomAppIcon()).scaled(st::notifyPhotoSize, st::notifyPhotoSize, Qt::IgnoreAspectRatio, Qt::SmoothTransformation));
_hiddenUserpicPlaceholder.setDevicePixelRatio(cRetinaFactor());
}
return _hiddenUserpicPlaceholder;
diff --git a/Telegram/SourceFiles/window/notifications_utilities.cpp b/Telegram/SourceFiles/window/notifications_utilities.cpp
index 43faaf1dd..23cabb57f 100644
--- a/Telegram/SourceFiles/window/notifications_utilities.cpp
+++ b/Telegram/SourceFiles/window/notifications_utilities.cpp
@@ -57,7 +57,7 @@ QString CachedUserpics::get(const InMemoryKey &key, PeerData *peer) {
peer->saveUserpic(v.path, st::notifyMacPhotoSize);
}
} else {
- Core::App().logoNoMargin().save(v.path, "PNG");
+ Core::App().logoNoMargin(cCustomAppIcon()).save(v.path, "PNG");
}
i = _images.insert(key, v);
_someSavedFlag = true;
diff --git a/Telegram/Telegram/Images.xcassets/AppIcon.appiconset/icon128.png b/Telegram/Telegram/Images.xcassets/AppIcon.appiconset/icon128.png
index 59e7e25b3..1db40ee4a 100644
Binary files a/Telegram/Telegram/Images.xcassets/AppIcon.appiconset/icon128.png and b/Telegram/Telegram/Images.xcassets/AppIcon.appiconset/icon128.png differ
diff --git a/Telegram/Telegram/Images.xcassets/AppIcon.appiconset/icon128@2x.png b/Telegram/Telegram/Images.xcassets/AppIcon.appiconset/icon128@2x.png
index f4616cc30..fbcd6fab6 100644
Binary files a/Telegram/Telegram/Images.xcassets/AppIcon.appiconset/icon128@2x.png and b/Telegram/Telegram/Images.xcassets/AppIcon.appiconset/icon128@2x.png differ
diff --git a/Telegram/Telegram/Images.xcassets/AppIcon.appiconset/icon16.png b/Telegram/Telegram/Images.xcassets/AppIcon.appiconset/icon16.png
index b753bbb18..f3a82511a 100644
Binary files a/Telegram/Telegram/Images.xcassets/AppIcon.appiconset/icon16.png and b/Telegram/Telegram/Images.xcassets/AppIcon.appiconset/icon16.png differ
diff --git a/Telegram/Telegram/Images.xcassets/AppIcon.appiconset/icon16@2x.png b/Telegram/Telegram/Images.xcassets/AppIcon.appiconset/icon16@2x.png
index c19f3b6db..cbd1e33bf 100644
Binary files a/Telegram/Telegram/Images.xcassets/AppIcon.appiconset/icon16@2x.png and b/Telegram/Telegram/Images.xcassets/AppIcon.appiconset/icon16@2x.png differ
diff --git a/Telegram/Telegram/Images.xcassets/AppIcon.appiconset/icon256.png b/Telegram/Telegram/Images.xcassets/AppIcon.appiconset/icon256.png
index 5ecf12d4a..284b4faf1 100644
Binary files a/Telegram/Telegram/Images.xcassets/AppIcon.appiconset/icon256.png and b/Telegram/Telegram/Images.xcassets/AppIcon.appiconset/icon256.png differ
diff --git a/Telegram/Telegram/Images.xcassets/AppIcon.appiconset/icon256@2x.png b/Telegram/Telegram/Images.xcassets/AppIcon.appiconset/icon256@2x.png
index ef4fc7d25..be31e89d5 100644
Binary files a/Telegram/Telegram/Images.xcassets/AppIcon.appiconset/icon256@2x.png and b/Telegram/Telegram/Images.xcassets/AppIcon.appiconset/icon256@2x.png differ
diff --git a/Telegram/Telegram/Images.xcassets/AppIcon.appiconset/icon32.png b/Telegram/Telegram/Images.xcassets/AppIcon.appiconset/icon32.png
index 66868915e..8fc510ca1 100644
Binary files a/Telegram/Telegram/Images.xcassets/AppIcon.appiconset/icon32.png and b/Telegram/Telegram/Images.xcassets/AppIcon.appiconset/icon32.png differ
diff --git a/Telegram/Telegram/Images.xcassets/AppIcon.appiconset/icon32@2x.png b/Telegram/Telegram/Images.xcassets/AppIcon.appiconset/icon32@2x.png
index 74697abfd..1a8782642 100644
Binary files a/Telegram/Telegram/Images.xcassets/AppIcon.appiconset/icon32@2x.png and b/Telegram/Telegram/Images.xcassets/AppIcon.appiconset/icon32@2x.png differ
diff --git a/Telegram/Telegram/Images.xcassets/AppIcon.appiconset/icon512.png b/Telegram/Telegram/Images.xcassets/AppIcon.appiconset/icon512.png
index 28c5b8685..b34f7f4b7 100644
Binary files a/Telegram/Telegram/Images.xcassets/AppIcon.appiconset/icon512.png and b/Telegram/Telegram/Images.xcassets/AppIcon.appiconset/icon512.png differ
diff --git a/Telegram/Telegram/Images.xcassets/AppIcon.appiconset/icon512@2x.png b/Telegram/Telegram/Images.xcassets/AppIcon.appiconset/icon512@2x.png
index d9ae73b8e..3d4284673 100644
Binary files a/Telegram/Telegram/Images.xcassets/AppIcon.appiconset/icon512@2x.png and b/Telegram/Telegram/Images.xcassets/AppIcon.appiconset/icon512@2x.png differ
diff --git a/Telegram/Telegram/Images.xcassets/Icon.iconset/icon_128x128.png b/Telegram/Telegram/Images.xcassets/Icon.iconset/icon_128x128.png
index 59e7e25b3..1db40ee4a 100644
Binary files a/Telegram/Telegram/Images.xcassets/Icon.iconset/icon_128x128.png and b/Telegram/Telegram/Images.xcassets/Icon.iconset/icon_128x128.png differ
diff --git a/Telegram/Telegram/Images.xcassets/Icon.iconset/icon_128x128@2x.png b/Telegram/Telegram/Images.xcassets/Icon.iconset/icon_128x128@2x.png
index f4616cc30..fbcd6fab6 100644
Binary files a/Telegram/Telegram/Images.xcassets/Icon.iconset/icon_128x128@2x.png and b/Telegram/Telegram/Images.xcassets/Icon.iconset/icon_128x128@2x.png differ
diff --git a/Telegram/Telegram/Images.xcassets/Icon.iconset/icon_16x16.png b/Telegram/Telegram/Images.xcassets/Icon.iconset/icon_16x16.png
index b753bbb18..f3a82511a 100644
Binary files a/Telegram/Telegram/Images.xcassets/Icon.iconset/icon_16x16.png and b/Telegram/Telegram/Images.xcassets/Icon.iconset/icon_16x16.png differ
diff --git a/Telegram/Telegram/Images.xcassets/Icon.iconset/icon_16x16@2x.png b/Telegram/Telegram/Images.xcassets/Icon.iconset/icon_16x16@2x.png
index c19f3b6db..cbd1e33bf 100644
Binary files a/Telegram/Telegram/Images.xcassets/Icon.iconset/icon_16x16@2x.png and b/Telegram/Telegram/Images.xcassets/Icon.iconset/icon_16x16@2x.png differ
diff --git a/Telegram/Telegram/Images.xcassets/Icon.iconset/icon_256x256.png b/Telegram/Telegram/Images.xcassets/Icon.iconset/icon_256x256.png
index 5ecf12d4a..284b4faf1 100644
Binary files a/Telegram/Telegram/Images.xcassets/Icon.iconset/icon_256x256.png and b/Telegram/Telegram/Images.xcassets/Icon.iconset/icon_256x256.png differ
diff --git a/Telegram/Telegram/Images.xcassets/Icon.iconset/icon_256x256@2x.png b/Telegram/Telegram/Images.xcassets/Icon.iconset/icon_256x256@2x.png
index ef4fc7d25..be31e89d5 100644
Binary files a/Telegram/Telegram/Images.xcassets/Icon.iconset/icon_256x256@2x.png and b/Telegram/Telegram/Images.xcassets/Icon.iconset/icon_256x256@2x.png differ
diff --git a/Telegram/Telegram/Images.xcassets/Icon.iconset/icon_32x32.png b/Telegram/Telegram/Images.xcassets/Icon.iconset/icon_32x32.png
index 66868915e..8fc510ca1 100644
Binary files a/Telegram/Telegram/Images.xcassets/Icon.iconset/icon_32x32.png and b/Telegram/Telegram/Images.xcassets/Icon.iconset/icon_32x32.png differ
diff --git a/Telegram/Telegram/Images.xcassets/Icon.iconset/icon_32x32@2x.png b/Telegram/Telegram/Images.xcassets/Icon.iconset/icon_32x32@2x.png
index 74697abfd..1a8782642 100644
Binary files a/Telegram/Telegram/Images.xcassets/Icon.iconset/icon_32x32@2x.png and b/Telegram/Telegram/Images.xcassets/Icon.iconset/icon_32x32@2x.png differ
diff --git a/Telegram/Telegram/Images.xcassets/Icon.iconset/icon_512x512.png b/Telegram/Telegram/Images.xcassets/Icon.iconset/icon_512x512.png
index 28c5b8685..b34f7f4b7 100644
Binary files a/Telegram/Telegram/Images.xcassets/Icon.iconset/icon_512x512.png and b/Telegram/Telegram/Images.xcassets/Icon.iconset/icon_512x512.png differ
diff --git a/Telegram/Telegram/Images.xcassets/Icon.iconset/icon_512x512@2x.png b/Telegram/Telegram/Images.xcassets/Icon.iconset/icon_512x512@2x.png
index d9ae73b8e..3d4284673 100644
Binary files a/Telegram/Telegram/Images.xcassets/Icon.iconset/icon_512x512@2x.png and b/Telegram/Telegram/Images.xcassets/Icon.iconset/icon_512x512@2x.png differ