diff --git a/README.md b/README.md
index 08b6b2e36..87972313e 100644
--- a/README.md
+++ b/README.md
@@ -50,6 +50,7 @@ If you enjoy using **AyuGram** and want to send us a tip, here's how you can do
- [Telegram Desktop](https://github.com/telegramdesktop/tdesktop)
- [Kotatogram](https://github.com/kotatogram/kotatogram-desktop)
- [64Gram](https://github.com/TDesktop-x64/tdesktop)
+- [Forkgram](https://github.com/forkgram/tdesktop)
- [SQLite](https://github.com/sqlite/sqlite)
- [sqlite_orm](https://github.com/fnc12/sqlite_orm)
diff --git a/Telegram/CMakeLists.txt b/Telegram/CMakeLists.txt
index f1b4752ce..a57b99073 100644
--- a/Telegram/CMakeLists.txt
+++ b/Telegram/CMakeLists.txt
@@ -106,8 +106,12 @@ PRIVATE
ayu/utils/telegram_helpers.h
ayu/ui/ayu_lottie.cpp
ayu/ui/ayu_lottie.h
+ ayu/ui/ayu_assets.cpp
+ ayu/ui/ayu_assets.h
ayu/ui/utils/ayu_profile_values.cpp
ayu/ui/utils/ayu_profile_values.h
+ ayu/ui/settings/icon_picker.cpp
+ ayu/ui/settings/icon_picker.h
ayu/ui/settings/settings_ayu.cpp
ayu/ui/settings/settings_ayu.h
ayu/ui/context_menu/context_menu.cpp
@@ -1514,6 +1518,8 @@ endif()
nice_target_sources(Telegram ${res_loc}
PRIVATE
+ qrc/ayu/ayu.qrc
+
qrc/emoji_1.qrc
qrc/emoji_2.qrc
qrc/emoji_3.qrc
diff --git a/Telegram/Resources/art/ayu/alt/logo256.png b/Telegram/Resources/art/ayu/alt/logo256.png
new file mode 100644
index 000000000..ae346affb
Binary files /dev/null and b/Telegram/Resources/art/ayu/alt/logo256.png differ
diff --git a/Telegram/Resources/art/ayu/alt/logo256_no_margin.png b/Telegram/Resources/art/ayu/alt/logo256_no_margin.png
new file mode 100644
index 000000000..08e3ead72
Binary files /dev/null and b/Telegram/Resources/art/ayu/alt/logo256_no_margin.png differ
diff --git a/Telegram/Resources/art/ayu/nothing/logo256.png b/Telegram/Resources/art/ayu/nothing/logo256.png
new file mode 100644
index 000000000..b1ea029a5
Binary files /dev/null and b/Telegram/Resources/art/ayu/nothing/logo256.png differ
diff --git a/Telegram/Resources/art/ayu/nothing/logo256_no_margin.png b/Telegram/Resources/art/ayu/nothing/logo256_no_margin.png
new file mode 100644
index 000000000..9bc823bd3
Binary files /dev/null and b/Telegram/Resources/art/ayu/nothing/logo256_no_margin.png differ
diff --git a/Telegram/Resources/art/icon128.png b/Telegram/Resources/art/icon128.png
index a0d447ad9..472a26c14 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 b2b6bed1e..82a26d502 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 6dbfac4a2..3bdd748df 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 0b0025358..443ba1d3d 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 486bbbda8..07187bdbc 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 6eb4505b2..82a26d502 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 d37429797..d54f24b36 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/icon32.png b/Telegram/Resources/art/icon32.png
index 0b0025358..443ba1d3d 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 a2ea04544..82f260e42 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 276c00da9..b09a9fcdc 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 3988c0356..cbdd581e4 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 d37429797..d54f24b36 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 046084845..2ddf8709b 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/icon64.png b/Telegram/Resources/art/icon64.png
index a2ea04544..82f260e42 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 b2b6bed1e..472a26c14 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/icon_round512@2x.png b/Telegram/Resources/art/icon_round512@2x.png
index 046084845..2ddf8709b 100644
Binary files a/Telegram/Resources/art/icon_round512@2x.png and b/Telegram/Resources/art/icon_round512@2x.png differ
diff --git a/Telegram/Resources/art/logo_256.png b/Telegram/Resources/art/logo_256.png
index 6eb4505b2..82a26d502 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_no_margin.png b/Telegram/Resources/art/logo_256_no_margin.png
index 6eb4505b2..d75f58b81 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/qrc/ayu/ayu.qrc b/Telegram/Resources/qrc/ayu/ayu.qrc
new file mode 100644
index 000000000..13808cbc7
--- /dev/null
+++ b/Telegram/Resources/qrc/ayu/ayu.qrc
@@ -0,0 +1,8 @@
+
+
+ ../../art/ayu/alt/logo256.png
+ ../../art/ayu/alt/logo256_no_margin.png
+ ../../art/ayu/nothing/logo256.png
+ ../../art/ayu/nothing/logo256_no_margin.png
+
+
diff --git a/Telegram/SourceFiles/ayu/ayu_settings.cpp b/Telegram/SourceFiles/ayu/ayu_settings.cpp
index 6ca889a11..e276b9a61 100644
--- a/Telegram/SourceFiles/ayu/ayu_settings.cpp
+++ b/Telegram/SourceFiles/ayu/ayu_settings.cpp
@@ -229,6 +229,11 @@ namespace AyuSettings
copyUsernameAsLink = val;
}
+ void AyuGramSettings::set_appIcon(QString val)
+ {
+ appIcon = std::move(val);
+ }
+
void AyuGramSettings::set_deletedMark(QString val)
{
deletedMark = std::move(val);
diff --git a/Telegram/SourceFiles/ayu/ayu_settings.h b/Telegram/SourceFiles/ayu/ayu_settings.h
index 41641b68b..8ec8f5301 100644
--- a/Telegram/SourceFiles/ayu/ayu_settings.h
+++ b/Telegram/SourceFiles/ayu/ayu_settings.h
@@ -14,6 +14,10 @@
namespace AyuSettings
{
+ const auto DEFAULT_ICON = QString("default");
+ const auto ALT_ICON = QString("alt");
+ const auto NOTHING_ICON = QString("nothing");
+
class AyuGramSettings
{
public:
@@ -40,6 +44,7 @@ namespace AyuSettings
copyUsernameAsLink = true;
// ~ Customization
+ appIcon = DEFAULT_ICON;
deletedMark = "🧹";
editedMark = tr::lng_edited(tr::now);
recentStickersCount = 20;
@@ -74,6 +79,7 @@ namespace AyuSettings
bool disableStories;
bool localPremium;
bool copyUsernameAsLink;
+ QString appIcon;
QString deletedMark;
QString editedMark;
int recentStickersCount;
@@ -114,6 +120,8 @@ namespace AyuSettings
void set_copyUsernameAsLink(bool val);
+ void set_appIcon(QString val);
+
void set_deletedMark(QString val);
void set_editedMark(QString val);
@@ -150,6 +158,7 @@ namespace AyuSettings
disableStories,
localPremium,
copyUsernameAsLink,
+ appIcon,
deletedMark,
editedMark,
recentStickersCount,
@@ -174,7 +183,6 @@ namespace AyuSettings
rpl::producer get_showPeerIdReactive();
- // computed fields
bool get_ghostModeEnabled();
rpl::producer get_ghostModeEnabledReactive();
diff --git a/Telegram/SourceFiles/ayu/ui/ayu_assets.cpp b/Telegram/SourceFiles/ayu/ui/ayu_assets.cpp
new file mode 100644
index 000000000..5b5c6fc6b
--- /dev/null
+++ b/Telegram/SourceFiles/ayu/ui/ayu_assets.cpp
@@ -0,0 +1,89 @@
+// This is the source code of AyuGram for Desktop.
+//
+// We do not and cannot prevent the use of our code,
+// but be respectful and credit the original author.
+//
+// Copyright @Radolyn, 2023
+
+#include "ayu_assets.h"
+#include "ayu/ayu_settings.h"
+
+QString LAST_LOADED_NAME;
+QImage LAST_LOADED;
+QImage LAST_LOADED_NO_MARGIN;
+
+void loadIcons()
+{
+ auto settings = &AyuSettings::getInstance();
+ if (LAST_LOADED_NAME != settings->appIcon)
+ {
+ LAST_LOADED_NAME = settings->appIcon;
+ if (settings->appIcon == AyuSettings::DEFAULT_ICON)
+ {
+ LAST_LOADED = logo();
+ LAST_LOADED_NO_MARGIN = logoNoMargin();
+ }
+ else if (settings->appIcon == AyuSettings::ALT_ICON)
+ {
+ LAST_LOADED = logoAlt();
+ LAST_LOADED_NO_MARGIN = logoAltNoMargin();
+ }
+ else if (settings->appIcon == AyuSettings::NOTHING_ICON)
+ {
+ LAST_LOADED = logoNothing();
+ LAST_LOADED_NO_MARGIN = logoNothingNoMargin();
+ }
+ else
+ {
+ LAST_LOADED = logo();
+ LAST_LOADED_NO_MARGIN = logoNoMargin();
+ }
+ }
+}
+
+QImage logo()
+{
+ return QImage(qsl(":/gui/art/logo_256.png"));
+}
+
+QImage logoNoMargin()
+{
+ return QImage(qsl(":/gui/art/logo_256_no_margin.png"));
+}
+
+QImage logoAlt()
+{
+ return QImage(qsl(":/gui/art/ayu/alt/logo256.png"));
+}
+
+QImage logoAltNoMargin()
+{
+ return QImage(qsl(":/gui/art/ayu/alt/logo256_no_margin.png"));
+}
+
+QImage logoNothing()
+{
+ return QImage(qsl(":/gui/art/ayu/nothing/logo256.png"));
+}
+
+QImage logoNothingNoMargin()
+{
+ return QImage(qsl(":/gui/art/ayu/nothing/logo256_no_margin.png"));
+}
+
+QString currentAppLogoName()
+{
+ return LAST_LOADED_NAME;
+}
+
+QImage currentAppLogo()
+{
+ loadIcons();
+ return LAST_LOADED;
+}
+
+QImage currentAppLogoNoMargin()
+{
+ loadIcons();
+ return LAST_LOADED_NO_MARGIN;
+}
diff --git a/Telegram/SourceFiles/ayu/ui/ayu_assets.h b/Telegram/SourceFiles/ayu/ui/ayu_assets.h
new file mode 100644
index 000000000..9f9ea18c5
--- /dev/null
+++ b/Telegram/SourceFiles/ayu/ui/ayu_assets.h
@@ -0,0 +1,21 @@
+// This is the source code of AyuGram for Desktop.
+//
+// We do not and cannot prevent the use of our code,
+// but be respectful and credit the original author.
+//
+// Copyright @Radolyn, 2023
+
+#pragma once
+
+QImage logo();
+QImage logoNoMargin();
+
+QImage logoAlt();
+QImage logoAltNoMargin();
+
+QImage logoNothing();
+QImage logoNothingNoMargin();
+
+QString currentAppLogoName();
+QImage currentAppLogo();
+QImage currentAppLogoNoMargin();
diff --git a/Telegram/SourceFiles/ayu/ui/ayu_icons.style b/Telegram/SourceFiles/ayu/ui/ayu_icons.style
index a5cfa5595..b15d139e7 100644
--- a/Telegram/SourceFiles/ayu/ui/ayu_icons.style
+++ b/Telegram/SourceFiles/ayu/ui/ayu_icons.style
@@ -1,3 +1,12 @@
+/*
+ * This is the source code of AyuGram for Desktop.
+ *
+ * We do not and cannot prevent the use of our code,
+ * but be respectful and credit the original author.
+ *
+ * Copyright @Radolyn, 2023
+ */
+
using "ui/colors.palette";
using "ui/widgets/widgets.style";
diff --git a/Telegram/SourceFiles/ayu/ui/ayu_lottie.cpp b/Telegram/SourceFiles/ayu/ui/ayu_lottie.cpp
index 399b055c6..6a5a8f00b 100644
--- a/Telegram/SourceFiles/ayu/ui/ayu_lottie.cpp
+++ b/Telegram/SourceFiles/ayu/ui/ayu_lottie.cpp
@@ -7,10 +7,12 @@
#include "ayu_lottie.h"
-namespace AyuUi {
- std::unique_ptr getLottie(const QString& text) {
+namespace AyuUi
+{
+ std::unique_ptr getLottie(const QString& text)
+ {
// todo: some kind of mapping
// Lottie::MakeIcon({.json = QString(), .sizeOverride = {24, 24}});
return nullptr;
}
-}
\ No newline at end of file
+}
diff --git a/Telegram/SourceFiles/ayu/ui/ayu_lottie.h b/Telegram/SourceFiles/ayu/ui/ayu_lottie.h
index 5aab581f5..41c38b11e 100644
--- a/Telegram/SourceFiles/ayu/ui/ayu_lottie.h
+++ b/Telegram/SourceFiles/ayu/ui/ayu_lottie.h
@@ -9,6 +9,7 @@
#include "lottie/lottie_icon.h"
-namespace AyuUi {
+namespace AyuUi
+{
std::unique_ptr getLottie(const QString& text);
}
diff --git a/Telegram/SourceFiles/ayu/ui/ayu_styles.style b/Telegram/SourceFiles/ayu/ui/ayu_styles.style
new file mode 100644
index 000000000..b48dc7a37
--- /dev/null
+++ b/Telegram/SourceFiles/ayu/ui/ayu_styles.style
@@ -0,0 +1,14 @@
+/*
+ * This is the source code of AyuGram for Desktop.
+ *
+ * We do not and cannot prevent the use of our code,
+ * but be respectful and credit the original author.
+ *
+ * Copyright @Radolyn, 2023
+ */
+
+using "ui/basic.style";
+using "ui/colors.palette";
+using "ui/widgets/widgets.style";
+
+iconPreviewStroke: activeButtonBg;
diff --git a/Telegram/SourceFiles/ayu/ui/settings/icon_picker.cpp b/Telegram/SourceFiles/ayu/ui/settings/icon_picker.cpp
new file mode 100644
index 000000000..8a2d52b6f
--- /dev/null
+++ b/Telegram/SourceFiles/ayu/ui/settings/icon_picker.cpp
@@ -0,0 +1,85 @@
+// This is the source code of AyuGram for Desktop.
+//
+// We do not and cannot prevent the use of our code,
+// but be respectful and credit the original author.
+//
+// Copyright @Radolyn, 2023
+
+#include "icon_picker.h"
+#include "ayu/ayu_settings.h"
+#include "core/application.h"
+#include "styles/style_layers.h"
+
+#include "ayu/ui/ayu_assets.h"
+#include "main/main_domain.h"
+#include "styles/style_ayu_styles.h"
+#include "ui/painter.h"
+#include "window/main_window.h"
+
+void drawIcon(QPainter& p, const QImage& icon, int offset, bool selected)
+{
+ if (selected)
+ {
+ p.save();
+ p.setPen(QPen(st::iconPreviewStroke, 2));
+ p.drawEllipse(offset + 2, 2, 68, 68);
+ p.restore();
+ }
+
+ auto rect = QRect(offset + 4, 4, 64, 64);
+ p.drawImage(rect, icon);
+}
+
+IconPicker::IconPicker(QWidget* parent) : RpWidget(parent)
+{
+ setMinimumSize(st::boxWidth, 72);
+}
+
+void IconPicker::paintEvent(QPaintEvent* e)
+{
+ Painter p(this);
+ PainterHighQualityEnabler hq(p);
+
+ auto icon1 = logo().scaled(64, 64, Qt::KeepAspectRatio, Qt::SmoothTransformation);
+ auto icon2 = logoAlt().scaled(64, 64, Qt::KeepAspectRatio, Qt::SmoothTransformation);
+ auto icon3 = logoNothing().scaled(64, 64, Qt::KeepAspectRatio, Qt::SmoothTransformation);
+
+ // todo: center
+ drawIcon(p, icon1, 0, currentAppLogoName() == AyuSettings::DEFAULT_ICON);
+ drawIcon(p, icon2, 0 + 64 + 16, currentAppLogoName() == AyuSettings::ALT_ICON);
+ drawIcon(p, icon3, 0 + 64 + 16 + 64 + 16, currentAppLogoName() == AyuSettings::NOTHING_ICON);
+}
+
+void IconPicker::mousePressEvent(QMouseEvent* e)
+{
+ auto settings = &AyuSettings::getInstance();
+ auto changed = false;
+
+ auto x = e->pos().x();
+ if (x <= 64 && settings->appIcon != AyuSettings::DEFAULT_ICON)
+ {
+ settings->set_appIcon(AyuSettings::DEFAULT_ICON);
+ changed = true;
+ }
+ else if (x >= 64 + 16 && x <= 64 + 16 + 64 && settings->appIcon != AyuSettings::ALT_ICON)
+ {
+ settings->set_appIcon(AyuSettings::ALT_ICON);
+ changed = true;
+ }
+ else if (x >= 64 + 16 + 64 + 16 && x < 64 + 16 + 64 + 16 + 64 && settings->appIcon != AyuSettings::NOTHING_ICON)
+ {
+ settings->set_appIcon(AyuSettings::NOTHING_ICON);
+ changed = true;
+ }
+
+ if (changed)
+ {
+ AyuSettings::save();
+
+ Window::OverrideApplicationIcon(currentAppLogo());
+ Core::App().refreshApplicationIcon();
+ Core::App().domain().notifyUnreadBadgeChanged();
+
+ repaint();
+ }
+}
diff --git a/Telegram/SourceFiles/ayu/ui/settings/icon_picker.h b/Telegram/SourceFiles/ayu/ui/settings/icon_picker.h
new file mode 100644
index 000000000..e7a3dd102
--- /dev/null
+++ b/Telegram/SourceFiles/ayu/ui/settings/icon_picker.h
@@ -0,0 +1,20 @@
+// This is the source code of AyuGram for Desktop.
+//
+// We do not and cannot prevent the use of our code,
+// but be respectful and credit the original author.
+//
+// Copyright @Radolyn, 2023
+
+#pragma once
+
+#include "ui/rp_widget.h"
+
+class IconPicker : public Ui::RpWidget
+{
+public:
+ IconPicker(QWidget* parent);
+
+protected:
+ void paintEvent(QPaintEvent* e) override;
+ void mousePressEvent(QMouseEvent* e) override;
+};
diff --git a/Telegram/SourceFiles/ayu/ui/settings/settings_ayu.cpp b/Telegram/SourceFiles/ayu/ui/settings/settings_ayu.cpp
index 6f5f912cc..5593c1e03 100644
--- a/Telegram/SourceFiles/ayu/ui/settings/settings_ayu.cpp
+++ b/Telegram/SourceFiles/ayu/ui/settings/settings_ayu.cpp
@@ -34,6 +34,7 @@
#include "styles/style_settings.h"
#include "styles/style_widgets.h"
+#include "icon_picker.h"
#include "ui/painter.h"
#include "ui/boxes/confirm_box.h"
#include "ui/boxes/single_choice_box.h"
@@ -626,6 +627,13 @@ namespace Settings
}, container->lifetime());
}
+ void Ayu::SetupAppIcon(not_null container)
+ {
+ container->add(
+ object_ptr(container),
+ st::settingsSubsectionTitlePadding);
+ }
+
void Ayu::SetupCustomization(not_null container,
not_null controller)
{
@@ -633,6 +641,8 @@ namespace Settings
AddSubsectionTitle(container, tr::ayu_CustomizationHeader());
+ SetupAppIcon(container);
+
auto btn = AddButtonWithLabel(
container,
tr::ayu_DeletedMarkText(),
diff --git a/Telegram/SourceFiles/ayu/ui/settings/settings_ayu.h b/Telegram/SourceFiles/ayu/ui/settings/settings_ayu.h
index 5fc0fb787..37d1c48d0 100644
--- a/Telegram/SourceFiles/ayu/ui/settings/settings_ayu.h
+++ b/Telegram/SourceFiles/ayu/ui/settings/settings_ayu.h
@@ -44,6 +44,8 @@ namespace Settings
void SetupQoLToggles(not_null container);
+ void SetupAppIcon(not_null container);
+
void SetupCustomization(not_null container,
not_null controller);
diff --git a/Telegram/SourceFiles/platform/win/tray_win.cpp b/Telegram/SourceFiles/platform/win/tray_win.cpp
index a0927702e..4586dd300 100644
--- a/Telegram/SourceFiles/platform/win/tray_win.cpp
+++ b/Telegram/SourceFiles/platform/win/tray_win.cpp
@@ -24,6 +24,10 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
#include
#include
+// AyuGram includes
+#include "ayu/ui/ayu_assets.h"
+
+
namespace Platform {
namespace {
@@ -37,6 +41,12 @@ constexpr auto kTooltipDelay = crl::time(10000);
static constexpr auto kCount = 3;
static auto ScaledLogo = std::array();
static auto ScaledLogoNoMargin = std::array();
+ static auto lastUsedIcon = currentAppLogoName();
+
+ if (lastUsedIcon != currentAppLogoName()) {
+ ScaledLogo = std::array();
+ ScaledLogoNoMargin = std::array();
+ }
struct Dimensions {
int index = 0;
diff --git a/Telegram/SourceFiles/window/main_window.cpp b/Telegram/SourceFiles/window/main_window.cpp
index 4bb01be69..c3339c2e5 100644
--- a/Telegram/SourceFiles/window/main_window.cpp
+++ b/Telegram/SourceFiles/window/main_window.cpp
@@ -52,6 +52,10 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
#include
+// AyuGram includes
+#include "ayu/ui/ayu_assets.h"
+
+
namespace Window {
namespace {
@@ -74,14 +78,12 @@ using Core::WindowPosition;
} // namespace
-const QImage &Logo() {
- static const auto result = QImage(u":/gui/art/logo_256.png"_q);
- return result;
+QImage Logo() {
+ return currentAppLogo();
}
-const QImage &LogoNoMargin() {
- static const auto result = QImage(u":/gui/art/logo_256_no_margin.png"_q);
- return result;
+QImage LogoNoMargin() {
+ return currentAppLogoNoMargin();
}
void ConvertIconToBlack(QImage &image) {
@@ -136,16 +138,7 @@ void OverrideApplicationIcon(QImage image) {
}
QIcon CreateOfficialIcon(Main::Session *session) {
- const auto support = (session && session->supportMode());
- if (!support) {
- return QIcon();
- }
- auto overriden = OverridenIcon();
- auto image = overriden.isNull()
- ? Platform::DefaultApplicationIcon()
- : overriden;
- ConvertIconToBlack(image);
- return QIcon(Ui::PixmapFromImage(std::move(image)));
+ return QIcon(Ui::PixmapFromImage(currentAppLogo()));
}
QIcon CreateIcon(Main::Session *session, bool returnNullIfDefault) {
diff --git a/Telegram/SourceFiles/window/main_window.h b/Telegram/SourceFiles/window/main_window.h
index df552098e..c6fd34b5b 100644
--- a/Telegram/SourceFiles/window/main_window.h
+++ b/Telegram/SourceFiles/window/main_window.h
@@ -35,8 +35,8 @@ class SessionController;
class TitleWidget;
struct TermsLock;
-[[nodiscard]] const QImage &Logo();
-[[nodiscard]] const QImage &LogoNoMargin();
+[[nodiscard]] QImage Logo();
+[[nodiscard]] QImage LogoNoMargin();
void OverrideApplicationIcon(QImage image);
[[nodiscard]] QIcon CreateIcon(
Main::Session *session = nullptr,
diff --git a/Telegram/cmake/td_ui.cmake b/Telegram/cmake/td_ui.cmake
index 3924e1fb2..66bac9c85 100644
--- a/Telegram/cmake/td_ui.cmake
+++ b/Telegram/cmake/td_ui.cmake
@@ -13,6 +13,7 @@ include(cmake/generate_numbers.cmake)
set(style_files
ayu/ui/ayu_icons.style
+ ayu/ui/ayu_styles.style
ui/td_common.style
ui/filter_icons.style
diff --git a/cmake b/cmake
index bd556e2a1..797fa772c 160000
--- a/cmake
+++ b/cmake
@@ -1 +1 @@
-Subproject commit bd556e2a16d34ad876054fb3ab25e83481af652a
+Subproject commit 797fa772cd95f5eb087c95e9ff619c9888ad8604