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/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/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_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/settings/kotato_old.png b/Telegram/Resources/icons/settings/kotato_old.png
new file mode 100644
index 000000000..78af364a3
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..aa3213202
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..7d2d7e2eb
Binary files /dev/null and b/Telegram/Resources/icons/settings/kotato_old@3x.png differ
diff --git a/Telegram/Resources/langs/rewrites/en.json b/Telegram/Resources/langs/rewrites/en.json
index c510c39cb..d6bb3ee74 100644
--- a/Telegram/Resources/langs/rewrites/en.json
+++ b/Telegram/Resources/langs/rewrites/en.json
@@ -64,6 +64,16 @@
"ktg_settings_recent_stickers_limit_none": "Recent stickers: hide all",
"ktg_settings_filters": "Folders",
"ktg_settings_messages": "Messages",
+ "ktg_settings_tray_icon": "Tray icon",
+ "ktg_settings_tray_icon_default": "Default",
+ "ktg_settings_tray_icon_blue": "Blue",
+ "ktg_settings_tray_icon_green": "Green",
+ "ktg_settings_tray_icon_orange": "Orange",
+ "ktg_settings_tray_icon_red": "Red",
+ "ktg_settings_tray_icon_legacy": "Legacy",
+ "ktg_settings_tray_icon_desc": "If you don't like any of these icons, you can place icon.png in your profile folder, but you'll need to restart app to see it.\n\nIcons below don't require restart.",
+ "ktg_settings_disable_tray_counter": "Disable tray icon counter",
+ "ktg_settings_use_telegram_panel_icon": "Ask the system for telegram icon",
"ktg_settings_chat_id": "Chat ID in profile",
"ktg_settings_chat_id_desc": "You can choose desired format here.\n\nTelegram API uses IDs as-is, but Bot API adds minus in the beginning for groups, and -100 for channels and supergroups to fit it in one field.\n\nIf you have profile panel opened, re-open it to see changes.",
"ktg_settings_chat_id_disable": "Hide",
diff --git a/Telegram/Resources/qrc/telegram/telegram.qrc b/Telegram/Resources/qrc/telegram/telegram.qrc
index c5e6c3b34..5d4d682e9 100644
--- a/Telegram/Resources/qrc/telegram/telegram.qrc
+++ b/Telegram/Resources/qrc/telegram/telegram.qrc
@@ -5,7 +5,17 @@
../../art/bg_initial.jpg
../../art/business_logo.png
../../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/themeimage.jpg
../../art/dice_idle.tgs
../../art/dart_idle.tgs
diff --git a/Telegram/Resources/winrc/Kotatogram.rc b/Telegram/Resources/winrc/Kotatogram.rc
index 441af8347..131955b55 100644
--- a/Telegram/Resources/winrc/Kotatogram.rc
+++ b/Telegram/Resources/winrc/Kotatogram.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/kotato/kotato_settings.cpp b/Telegram/SourceFiles/kotato/kotato_settings.cpp
index c8846e30f..fed7f6997 100644
--- a/Telegram/SourceFiles/kotato/kotato_settings.cpp
+++ b/Telegram/SourceFiles/kotato/kotato_settings.cpp
@@ -296,6 +296,16 @@ const std::map> DefinitionMap {
{ "always_show_top_userpic", {
.type = SettingType::BoolSetting,
.defaultValue = false, }},
+ { "disable_tray_counter", {
+ .type = SettingType::BoolSetting,
+ .defaultValue = false, }},
+ { "use_telegram_panel_icon", {
+ .type = SettingType::BoolSetting,
+ .defaultValue = false, }},
+ { "custom_app_icon", {
+ .type = SettingType::IntSetting,
+ .defaultValue = 0,
+ .limitHandler = IntLimit(0, 5), }},
};
using OldOptionKey = QString;
diff --git a/Telegram/SourceFiles/kotato/kotato_settings_menu.cpp b/Telegram/SourceFiles/kotato/kotato_settings_menu.cpp
index 8b58585c8..e2cf0bfa0 100644
--- a/Telegram/SourceFiles/kotato/kotato_settings_menu.cpp
+++ b/Telegram/SourceFiles/kotato/kotato_settings_menu.cpp
@@ -48,6 +48,31 @@ namespace Settings {
namespace {
+QString TrayIconLabel(int icon) {
+ switch (icon) {
+ case 0:
+ return ktr("ktg_settings_tray_icon_default");
+
+ case 1:
+ return ktr("ktg_settings_tray_icon_blue");
+
+ case 2:
+ return ktr("ktg_settings_tray_icon_green");
+
+ case 3:
+ return ktr("ktg_settings_tray_icon_orange");
+
+ case 4:
+ return ktr("ktg_settings_tray_icon_red");
+
+ case 5:
+ return ktr("ktg_settings_tray_icon_legacy");
+
+ default:
+ Unexpected("Icon in Settings::TrayIconLabel.");
+ }
+ return QString();
+}
QString ChatIdLabel(int option) {
switch (option) {
@@ -267,6 +292,62 @@ void SetupKotatoSystem(
Ui::AddSkip(container);
Ui::AddSubsectionTitle(container, rktr("ktg_settings_system"));
+ container->add(object_ptr