mirror of
https://github.com/AyuGram/AyuGramDesktop.git
synced 2026-07-25 06:54:43 +00:00
chore: refactor icon picker & reorder includes
This commit is contained in:
@@ -4,17 +4,22 @@
|
||||
// but be respectful and credit the original author.
|
||||
//
|
||||
// Copyright @Radolyn, 2026
|
||||
#include "ayu_infra.h"
|
||||
#include "ayu/ayu_infra.h"
|
||||
|
||||
#include "ayu/ayu_lang.h"
|
||||
#include "ayu/ayu_settings.h"
|
||||
#include "ayu/ayu_ui_settings.h"
|
||||
#include "ayu/ayu_worker.h"
|
||||
#include "ayu/data/ayu_database.h"
|
||||
#include "ayu/ui/ayu_logo.h"
|
||||
#include "features/translator/ayu_translator.h"
|
||||
#include "lang/lang_instance.h"
|
||||
#include "utils/rc_manager.h"
|
||||
|
||||
#ifdef Q_OS_WIN
|
||||
#include "ayu/utils/windows_utils.h"
|
||||
#endif
|
||||
|
||||
namespace AyuInfra {
|
||||
|
||||
void initLang() {
|
||||
@@ -53,10 +58,18 @@ void initTranslator() {
|
||||
Ayu::Translator::TranslateManager::init();
|
||||
}
|
||||
|
||||
void initIcon() {
|
||||
#ifdef Q_OS_WIN
|
||||
AyuAssets::loadAppIco();
|
||||
reloadAppIconFromTaskBar();
|
||||
#endif
|
||||
}
|
||||
|
||||
void init() {
|
||||
initLang();
|
||||
initDatabase();
|
||||
initUiSettings();
|
||||
initIcon();
|
||||
initWorker();
|
||||
initRCManager();
|
||||
initTranslator();
|
||||
|
||||
@@ -4,10 +4,7 @@
|
||||
// but be respectful and credit the original author.
|
||||
//
|
||||
// Copyright @Radolyn, 2026
|
||||
#include "ayu_lang.h"
|
||||
|
||||
#include <QDir>
|
||||
#include <QFile>
|
||||
#include "ayu/ayu_lang.h"
|
||||
|
||||
#include "qjsondocument.h"
|
||||
#include "core/application.h"
|
||||
@@ -15,6 +12,9 @@
|
||||
#include "lang/lang_instance.h"
|
||||
#include "storage/localstorage.h"
|
||||
|
||||
#include <QDir>
|
||||
#include <QFile>
|
||||
|
||||
// hard-coded languages
|
||||
std::map<QString, QString> langMapping = {
|
||||
{"pt-br", "pt"},
|
||||
|
||||
@@ -4,12 +4,12 @@
|
||||
// but be respectful and credit the original author.
|
||||
//
|
||||
// Copyright @Radolyn, 2026
|
||||
#include "ayu_settings.h"
|
||||
#include "ayu/ayu_settings.h"
|
||||
|
||||
#include "ayu_worker.h"
|
||||
#include "lang_auto.h"
|
||||
#include "tray.h"
|
||||
#include "ayu/ayu_ui_settings.h"
|
||||
#include "ayu/ayu_worker.h"
|
||||
#include "ayu/ui/ayu_logo.h"
|
||||
#include "core/application.h"
|
||||
#include "features/filters/filters_cache_controller.h"
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
// but be respectful and credit the original author.
|
||||
//
|
||||
// Copyright @Radolyn, 2026
|
||||
#include "ayu_state.h"
|
||||
#include "ayu/ayu_state.h"
|
||||
|
||||
namespace AyuState {
|
||||
|
||||
|
||||
@@ -6,7 +6,6 @@
|
||||
// Copyright @Radolyn, 2026
|
||||
#include "ayu/ayu_url_handlers.h"
|
||||
|
||||
#include <QDesktopServices>
|
||||
#include "lang_auto.h"
|
||||
#include "mainwindow.h"
|
||||
#include "ayu/ui/settings/settings_main.h"
|
||||
@@ -22,6 +21,8 @@
|
||||
#include "ui/boxes/donate_info_box.h"
|
||||
#include "window/window_controller.h"
|
||||
|
||||
#include <QDesktopServices>
|
||||
|
||||
namespace AyuUrlHandlers {
|
||||
|
||||
bool ResolveUser(
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
// but be respectful and credit the original author.
|
||||
//
|
||||
// Copyright @Radolyn, 2026
|
||||
#include "ayu_worker.h"
|
||||
#include "ayu/ayu_worker.h"
|
||||
|
||||
#include "apiwrap.h"
|
||||
#include "ayu_settings.h"
|
||||
|
||||
@@ -6,11 +6,8 @@
|
||||
// Copyright @Radolyn, 2026
|
||||
#include "ayu/data/ayu_database.h"
|
||||
|
||||
#include <ranges>
|
||||
|
||||
#include "entities.h"
|
||||
#include "ayu/data/entities.h"
|
||||
#include "ayu/libs/sqlite/sqlite_orm.h"
|
||||
|
||||
#include "base/unixtime.h"
|
||||
|
||||
using namespace sqlite_orm;
|
||||
|
||||
@@ -6,9 +6,9 @@
|
||||
// Copyright @Radolyn, 2026
|
||||
#pragma once
|
||||
|
||||
#include "entities.h"
|
||||
#include <functional>
|
||||
#include "ayu/data/entities.h"
|
||||
|
||||
#include <functional>
|
||||
|
||||
class SchemaVersion
|
||||
{
|
||||
|
||||
@@ -9,16 +9,12 @@
|
||||
#include "ayu/data/ayu_database.h"
|
||||
#include "ayu/utils/ayu_mapper.h"
|
||||
#include "ayu/utils/telegram_helpers.h"
|
||||
|
||||
#include "base/unixtime.h"
|
||||
|
||||
#include "data/data_forum_topic.h"
|
||||
#include "data/data_session.h"
|
||||
|
||||
#include "history/history.h"
|
||||
#include "history/history_item.h"
|
||||
#include "history/history_item_components.h"
|
||||
|
||||
#include "main/main_session.h"
|
||||
|
||||
namespace AyuMessages {
|
||||
|
||||
@@ -6,9 +6,7 @@
|
||||
// Copyright @Radolyn, 2026
|
||||
#pragma once
|
||||
|
||||
#include "entities.h"
|
||||
|
||||
#include "history/history_item_edition.h"
|
||||
#include "ayu/data/entities.h"
|
||||
|
||||
namespace AyuMessages {
|
||||
|
||||
|
||||
@@ -4,12 +4,10 @@
|
||||
// but be respectful and credit the original author.
|
||||
//
|
||||
// Copyright @Radolyn, 2026
|
||||
#include "filters_cache_controller.h"
|
||||
#include "ayu/features/filters/filters_cache_controller.h"
|
||||
|
||||
#include <unordered_set>
|
||||
|
||||
#include "filters_controller.h"
|
||||
#include "ayu/data/ayu_database.h"
|
||||
#include "ayu/features/filters/filters_controller.h"
|
||||
#include "data/data_groups.h"
|
||||
#include "data/data_peer.h"
|
||||
#include "data/data_session.h"
|
||||
@@ -17,6 +15,8 @@
|
||||
#include "history/history_item.h"
|
||||
#include "rpl/event_stream.h"
|
||||
|
||||
#include <unordered_set>
|
||||
|
||||
static std::mutex mutex;
|
||||
|
||||
namespace FiltersCacheController {
|
||||
|
||||
@@ -6,8 +6,8 @@
|
||||
// Copyright @Radolyn, 2026
|
||||
#pragma once
|
||||
|
||||
#include "filters_controller.h"
|
||||
#include "ayu/data/entities.h"
|
||||
#include "ayu/features/filters/filters_controller.h"
|
||||
#include "rpl/producer.h"
|
||||
|
||||
namespace Data {
|
||||
|
||||
@@ -5,28 +5,20 @@
|
||||
//
|
||||
// Copyright @Radolyn, 2026
|
||||
|
||||
#include "filters_controller.h"
|
||||
#include "ayu/features/filters/filters_controller.h"
|
||||
|
||||
#include "filters_cache_controller.h"
|
||||
#include "ayu/ayu_settings.h"
|
||||
#include "ayu/features/filters/filters_cache_controller.h"
|
||||
#include "ayu/features/filters/filters_utils.h"
|
||||
#include "ayu/utils/telegram_helpers.h"
|
||||
#include "data/data_peer.h"
|
||||
#include "data/data_peer_id.h"
|
||||
#include "data/data_session.h"
|
||||
#include "data/data_user.h"
|
||||
#include "history/history.h"
|
||||
#include "history/history_item.h"
|
||||
#include "unicode/regex.h"
|
||||
|
||||
#include <QTimer>
|
||||
|
||||
#include "ayu/data/entities.h"
|
||||
#include "core/mime_type.h"
|
||||
#include "data/data_channel.h"
|
||||
#include "data/data_peer_id.h"
|
||||
|
||||
#include "data/data_session.h"
|
||||
#include "history/history_item_components.h"
|
||||
|
||||
#include "filters_utils.h"
|
||||
#include "ayu/utils/telegram_helpers.h"
|
||||
#include "unicode/regex.h"
|
||||
|
||||
namespace FiltersController {
|
||||
|
||||
|
||||
@@ -6,9 +6,10 @@
|
||||
// Copyright @Radolyn, 2026
|
||||
#pragma once
|
||||
|
||||
#include "unicode/regex.h"
|
||||
|
||||
#include <string>
|
||||
#include <vector>
|
||||
#include "unicode/regex.h"
|
||||
|
||||
using namespace icu_78;
|
||||
|
||||
|
||||
@@ -4,7 +4,22 @@
|
||||
// but be respectful and credit the original author.
|
||||
//
|
||||
// Copyright @Radolyn, 2026
|
||||
#include "filters_utils.h"
|
||||
#include "ayu/features/filters/filters_utils.h"
|
||||
|
||||
#include "lang_auto.h"
|
||||
#include "ayu/ayu_settings.h"
|
||||
#include "ayu/data/ayu_database.h"
|
||||
#include "ayu/features/filters/filters_cache_controller.h"
|
||||
#include "ayu/utils/telegram_helpers.h"
|
||||
#include "data/data_document.h"
|
||||
#include "data/data_peer.h"
|
||||
#include "data/data_session.h"
|
||||
#include "history/history.h"
|
||||
#include "history/history_item.h"
|
||||
#include "main/main_account.h"
|
||||
#include "main/main_domain.h"
|
||||
#include "main/main_session.h"
|
||||
#include "ui/toast/toast.h"
|
||||
|
||||
#include <QByteArray>
|
||||
#include <QClipboard>
|
||||
@@ -16,20 +31,6 @@
|
||||
#include <QtNetwork/QHttpPart>
|
||||
#include <QtNetwork/QNetworkAccessManager>
|
||||
#include <QtNetwork/QNetworkReply>
|
||||
#include "filters_cache_controller.h"
|
||||
#include "lang_auto.h"
|
||||
#include "ayu/ayu_settings.h"
|
||||
#include "ayu/data/ayu_database.h"
|
||||
#include "ayu/utils/telegram_helpers.h"
|
||||
#include "data/data_document.h"
|
||||
#include "data/data_peer.h"
|
||||
#include "data/data_session.h"
|
||||
#include "history/history.h"
|
||||
#include "history/history_item.h"
|
||||
#include "main/main_account.h"
|
||||
#include "main/main_domain.h"
|
||||
#include "main/main_session.h"
|
||||
#include "ui/toast/toast.h"
|
||||
|
||||
constexpr auto BACKUP_VERSION = 2;
|
||||
|
||||
|
||||
@@ -5,15 +5,15 @@
|
||||
//
|
||||
// Copyright @Radolyn, 2026
|
||||
#pragma once
|
||||
#include <QString>
|
||||
#include <QtNetwork/QNetworkReply>
|
||||
|
||||
#include "ayu/data/entities.h"
|
||||
#include "core/application.h"
|
||||
|
||||
#include "data/data_session.h"
|
||||
#include "history/history_item_components.h"
|
||||
|
||||
#include <QString>
|
||||
#include <QtNetwork/QNetworkReply>
|
||||
|
||||
struct ApplyChanges
|
||||
{
|
||||
std::vector<RegexFilter> newFilters;
|
||||
|
||||
@@ -4,10 +4,11 @@
|
||||
// but be respectful and credit the original author.
|
||||
//
|
||||
// Copyright @Radolyn, 2026
|
||||
#include "ayu_forward.h"
|
||||
#include "ayu/features/forward/ayu_forward.h"
|
||||
|
||||
#include "apiwrap.h"
|
||||
#include "ayu_sync.h"
|
||||
#include "lang_auto.h"
|
||||
#include "ayu/features/forward/ayu_sync.h"
|
||||
#include "ayu/utils/telegram_helpers.h"
|
||||
#include "base/random.h"
|
||||
#include "base/unixtime.h"
|
||||
@@ -18,7 +19,6 @@
|
||||
#include "data/data_photo.h"
|
||||
#include "data/data_session.h"
|
||||
#include "history/history_item.h"
|
||||
#include "storage/file_download.h"
|
||||
#include "storage/localimageloader.h"
|
||||
#include "storage/storage_account.h"
|
||||
#include "storage/storage_media_prepare.h"
|
||||
|
||||
@@ -4,9 +4,10 @@
|
||||
// but be respectful and credit the original author.
|
||||
//
|
||||
// Copyright @Radolyn, 2026
|
||||
#include "ayu_sync.h"
|
||||
#include "api/api_sending.h"
|
||||
#include "ayu/features/forward/ayu_sync.h"
|
||||
|
||||
#include "apiwrap.h"
|
||||
#include "api/api_sending.h"
|
||||
#include "ayu/utils/telegram_helpers.h"
|
||||
#include "core/application.h"
|
||||
#include "core/core_settings.h"
|
||||
|
||||
@@ -4,10 +4,7 @@
|
||||
// but be respectful and credit the original author.
|
||||
//
|
||||
// Copyright @Radolyn, 2026
|
||||
#include "message_shot.h"
|
||||
|
||||
#include "styles/style_ayu_styles.h"
|
||||
#include "styles/style_layers.h"
|
||||
#include "ayu/features/message_shot/message_shot.h"
|
||||
|
||||
#include "qguiapplication.h"
|
||||
#include "ayu/ayu_settings.h"
|
||||
@@ -30,7 +27,9 @@
|
||||
#include "history/view/history_view_element.h"
|
||||
#include "history/view/media/history_view_media.h"
|
||||
#include "main/main_session.h"
|
||||
#include "styles/style_ayu_styles.h"
|
||||
#include "styles/style_chat.h"
|
||||
#include "styles/style_layers.h"
|
||||
#include "ui/painter.h"
|
||||
#include "ui/chat/chat_theme.h"
|
||||
#include "ui/effects/path_shift_gradient.h"
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
// but be respectful and credit the original author.
|
||||
//
|
||||
// Copyright @Radolyn, 2026
|
||||
#include "message_shot_theme_state.h"
|
||||
#include "ayu/features/message_shot/message_shot_theme_state.h"
|
||||
|
||||
#include "lang_auto.h"
|
||||
#include "ayu/ayu_settings.h"
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
//
|
||||
// Copyright @Radolyn, 2026
|
||||
|
||||
#include "streamer_mode.h"
|
||||
#include "ayu/features/streamer_mode/streamer_mode.h"
|
||||
|
||||
#include "window/window_controller.h"
|
||||
|
||||
|
||||
@@ -4,23 +4,23 @@
|
||||
// but be respectful and credit the original author.
|
||||
//
|
||||
// Copyright @Radolyn, 2026
|
||||
#include "ayu_translator.h"
|
||||
#include "ayu/features/translator/ayu_translator.h"
|
||||
|
||||
#include "api/api_text_entities.h"
|
||||
#include "ayu/ayu_settings.h"
|
||||
#include "ayu/features/translator/implementations/google.h"
|
||||
#include "ayu/features/translator/implementations/telegram.h"
|
||||
#include "ayu/features/translator/implementations/yandex.h"
|
||||
#include "data/data_peer.h"
|
||||
#include "data/data_session.h"
|
||||
#include "history/history_item.h"
|
||||
#include "main/main_session.h"
|
||||
|
||||
#include <optional>
|
||||
#include <QtCore/QCryptographicHash>
|
||||
#include <QtCore/QString>
|
||||
#include <QtNetwork/QNetworkReply>
|
||||
|
||||
#include "api/api_text_entities.h"
|
||||
#include "ayu/ayu_settings.h"
|
||||
#include "data/data_peer.h"
|
||||
#include "data/data_session.h"
|
||||
#include "history/history_item.h"
|
||||
#include "implementations/google.h"
|
||||
#include "implementations/telegram.h"
|
||||
#include "implementations/yandex.h"
|
||||
#include "main/main_session.h"
|
||||
|
||||
// todo: expose available languages from current translator and use in `ChooseTranslateToBox`
|
||||
|
||||
namespace Ayu::Translator {
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
// Copyright @Radolyn, 2026
|
||||
#pragma once
|
||||
|
||||
#include "ayu/features/translator/implementations/base.h"
|
||||
#include "mtproto/sender.h"
|
||||
|
||||
#include <functional>
|
||||
@@ -13,8 +14,6 @@
|
||||
#include <unordered_map>
|
||||
#include <QtCore/QString>
|
||||
|
||||
#include "implementations/base.h"
|
||||
|
||||
class QNetworkReply;
|
||||
|
||||
namespace Main {
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
// but be respectful and credit the original author.
|
||||
//
|
||||
// Copyright @Radolyn, 2026
|
||||
#include "html_parser.h"
|
||||
#include "ayu/features/translator/html_parser.h"
|
||||
|
||||
namespace Ayu::Translator::Html {
|
||||
|
||||
|
||||
@@ -6,9 +6,10 @@
|
||||
// Copyright @Radolyn, 2026
|
||||
#pragma once
|
||||
|
||||
#include <QtCore/QString>
|
||||
#include "ui/text/text_entity.h"
|
||||
|
||||
#include <QtCore/QString>
|
||||
|
||||
namespace Ayu::Translator::Html {
|
||||
|
||||
[[nodiscard]] QString entitiesToHtml(const TextWithEntities &text);
|
||||
|
||||
@@ -4,20 +4,19 @@
|
||||
// but be respectful and credit the original author.
|
||||
//
|
||||
// Copyright @Radolyn, 2026
|
||||
#include <QtCore/QJsonArray>
|
||||
#include <QtCore/QJsonDocument>
|
||||
#include <QtCore/QJsonObject>
|
||||
#include <QtCore/QJsonValue>
|
||||
#include <QtCore/QString>
|
||||
#include <QtCore/QTimer>
|
||||
#include "ayu/features/translator/implementations/base.h"
|
||||
|
||||
#include "base/random.h"
|
||||
|
||||
#include <cmath>
|
||||
#include <memory>
|
||||
#include <vector>
|
||||
|
||||
#include "./base.h"
|
||||
#include <QtCore/QJsonArray>
|
||||
#include <QtCore/QJsonDocument>
|
||||
#include <QtCore/QJsonObject>
|
||||
#include <QtCore/QJsonValue>
|
||||
#include <QtCore/QString>
|
||||
#include <QtCore/QTimer>
|
||||
|
||||
namespace Ayu::Translator {
|
||||
|
||||
|
||||
@@ -6,16 +6,15 @@
|
||||
// Copyright @Radolyn, 2026
|
||||
#pragma once
|
||||
|
||||
#include "apiwrap.h"
|
||||
|
||||
#include <functional>
|
||||
#include <QtCore/QObject>
|
||||
#include <QtCore/QPointer>
|
||||
#include <QtCore/QSet>
|
||||
#include <QtCore/QString>
|
||||
#include <QtNetwork/QNetworkReply>
|
||||
|
||||
#include <functional>
|
||||
|
||||
#include "apiwrap.h"
|
||||
|
||||
namespace Main {
|
||||
class Session;
|
||||
}
|
||||
|
||||
@@ -4,7 +4,9 @@
|
||||
// but be respectful and credit the original author.
|
||||
//
|
||||
// Copyright @Radolyn, 2026
|
||||
#include "google.h"
|
||||
#include "ayu/features/translator/implementations/google.h"
|
||||
|
||||
#include "ayu/features/translator/html_parser.h"
|
||||
|
||||
#include <memory>
|
||||
#include <QtCore/QJsonArray>
|
||||
@@ -14,12 +16,10 @@
|
||||
#include <QtCore/QPointer>
|
||||
#include <QtCore/QStringList>
|
||||
#include <QtCore/QTimer>
|
||||
#include <QtNetwork/QNetworkRequest>
|
||||
#include <QtNetwork/QNetworkReply>
|
||||
#include <QtCore/QUrl>
|
||||
#include <QtGui/QTextDocument>
|
||||
|
||||
#include "ayu/features/translator/html_parser.h"
|
||||
#include <QtNetwork/QNetworkReply>
|
||||
#include <QtNetwork/QNetworkRequest>
|
||||
|
||||
namespace Ayu::Translator {
|
||||
|
||||
|
||||
@@ -6,13 +6,13 @@
|
||||
// Copyright @Radolyn, 2026
|
||||
#pragma once
|
||||
|
||||
#include "ayu/features/translator/implementations/base.h"
|
||||
|
||||
#include <QtCore/QObject>
|
||||
#include <QtCore/QPointer>
|
||||
#include <QtCore/QSet>
|
||||
#include <QtCore/QString>
|
||||
|
||||
#include "./base.h"
|
||||
|
||||
namespace Ayu::Translator {
|
||||
|
||||
class GoogleTranslator final : public MultiThreadTranslator
|
||||
|
||||
@@ -4,13 +4,13 @@
|
||||
// but be respectful and credit the original author.
|
||||
//
|
||||
// Copyright @Radolyn, 2026
|
||||
#include "telegram.h"
|
||||
|
||||
#include <QtNetwork/QNetworkReply>
|
||||
#include "ayu/features/translator/implementations/telegram.h"
|
||||
|
||||
#include "api/api_text_entities.h"
|
||||
#include "main/main_session.h"
|
||||
|
||||
#include <QtNetwork/QNetworkReply>
|
||||
|
||||
namespace Ayu::Translator {
|
||||
|
||||
TelegramTranslator &TelegramTranslator::instance() {
|
||||
|
||||
@@ -6,12 +6,12 @@
|
||||
// Copyright @Radolyn, 2026
|
||||
#pragma once
|
||||
|
||||
#include "ayu/features/translator/implementations/base.h"
|
||||
|
||||
#include <QtCore/QObject>
|
||||
#include <QtCore/QSet>
|
||||
#include <QtCore/QString>
|
||||
|
||||
#include "./base.h"
|
||||
|
||||
namespace Ayu::Translator {
|
||||
|
||||
class TelegramTranslator final : public BaseTranslator
|
||||
|
||||
@@ -4,7 +4,9 @@
|
||||
// but be respectful and credit the original author.
|
||||
//
|
||||
// Copyright @Radolyn, 2026
|
||||
#include "yandex.h"
|
||||
#include "ayu/features/translator/implementations/yandex.h"
|
||||
|
||||
#include "ayu/features/translator/html_parser.h"
|
||||
|
||||
#include <memory>
|
||||
#include <QtCore/QPointer>
|
||||
@@ -15,8 +17,6 @@
|
||||
#include <QtNetwork/QNetworkReply>
|
||||
#include <QtNetwork/QNetworkRequest>
|
||||
|
||||
#include "ayu/features/translator/html_parser.h"
|
||||
|
||||
namespace Ayu::Translator {
|
||||
|
||||
YandexTranslator &YandexTranslator::instance() {
|
||||
|
||||
@@ -6,13 +6,13 @@
|
||||
// Copyright @Radolyn, 2026
|
||||
#pragma once
|
||||
|
||||
#include "ayu/features/translator/implementations/base.h"
|
||||
|
||||
#include <QtCore/QObject>
|
||||
#include <QtCore/QPointer>
|
||||
#include <QtCore/QSet>
|
||||
#include <QtCore/QString>
|
||||
|
||||
#include "./base.h"
|
||||
|
||||
namespace Ayu::Translator {
|
||||
|
||||
class YandexTranslator final : public MultiThreadTranslator
|
||||
|
||||
@@ -4,34 +4,35 @@
|
||||
// but be respectful and credit the original author.
|
||||
//
|
||||
// Copyright @Radolyn, 2026
|
||||
#include "ayu_logo.h"
|
||||
|
||||
#include <QSvgRenderer>
|
||||
#include "ayu/ui/ayu_logo.h"
|
||||
|
||||
#include "ayu/ayu_settings.h"
|
||||
#include "styles/style_ayu_styles.h"
|
||||
#include "ui/rect.h"
|
||||
|
||||
#include <QSvgRenderer>
|
||||
|
||||
static QString LAST_LOADED_NAME;
|
||||
static QImage LAST_LOADED;
|
||||
static QImage LAST_LOADED_PAD;
|
||||
|
||||
namespace AyuAssets {
|
||||
|
||||
QString appIcoPath() {
|
||||
return cWorkingDir() + u"tdata/AyuGram.ico"_q;
|
||||
}
|
||||
|
||||
void loadAppIco() {
|
||||
const auto &settings = AyuSettings::getInstance();
|
||||
const auto iconPath = appIcoPath();
|
||||
|
||||
QString appDataPath = QDir::fromNativeSeparators(qgetenv("APPDATA"));
|
||||
QString tempIconPath = appDataPath + "/AyuGram.ico";
|
||||
|
||||
// workaround for read-only file
|
||||
auto f = QFile(tempIconPath);
|
||||
auto f = QFile(iconPath);
|
||||
if (f.exists()) {
|
||||
f.setPermissions(QFile::WriteOther);
|
||||
f.remove();
|
||||
}
|
||||
f.close();
|
||||
QFile::copy(qsl(":/gui/art/ayu/%1/app_icon.ico").arg(settings.appIcon()), tempIconPath);
|
||||
QFile::copy(qsl(":/gui/art/ayu/%1/app_icon.ico").arg(settings.appIcon()), iconPath);
|
||||
}
|
||||
|
||||
QImage CreateImage(const QString &name, const QSize resultImageSize, const int padding = 0) {
|
||||
@@ -96,7 +97,7 @@ void loadIcons() {
|
||||
}
|
||||
|
||||
QImage loadPreview(const QString &name) {
|
||||
return CreateImage(name, Size(st::cpIconSize), st::cpImagePadding);
|
||||
return CreateImage(name, Size(st::iconPickerIconSize), st::iconPickerImagePadding);
|
||||
}
|
||||
|
||||
QString currentAppLogoName() {
|
||||
|
||||
@@ -24,6 +24,7 @@ ICON(CHIBI2, "chibi2");
|
||||
ICON(EXTERA2, "extera2");
|
||||
|
||||
void loadAppIco();
|
||||
QString appIcoPath();
|
||||
|
||||
QImage loadPreview(const QString& name);
|
||||
|
||||
|
||||
@@ -13,14 +13,10 @@ using "ui/widgets/widgets.style";
|
||||
using "info/info.style";
|
||||
using "settings/settings.style";
|
||||
|
||||
/* Icon Picker */
|
||||
cpPadding: 14px;
|
||||
cpSelectedPadding: 2px;
|
||||
cpSelectedRounding: 12px;
|
||||
cpImagePadding: 4px;
|
||||
cpSpacingX: 16px;
|
||||
cpSpacingY: 8px;
|
||||
cpIconSize: 64px;
|
||||
iconPickerSelectedPadding: 2px;
|
||||
iconPickerSelectedRounding: 12px;
|
||||
iconPickerImagePadding: 4px;
|
||||
iconPickerIconSize: 64px;
|
||||
|
||||
recentStickersLimitPadding: margins(22px, 4px, 22px, 8px);
|
||||
imageViewPadding: margins(22px, 10px, 22px, 10px);
|
||||
|
||||
@@ -6,17 +6,13 @@
|
||||
// Copyright @Radolyn, 2026
|
||||
#include "ayu/ui/boxes/donate_info_box.h"
|
||||
|
||||
#include <QSvgRenderer>
|
||||
|
||||
#include "lang_auto.h"
|
||||
#include "ayu/utils/rc_manager.h"
|
||||
#include "core/ui_integration.h"
|
||||
#include "data/data_session.h"
|
||||
#include "data/stickers/data_custom_emoji.h"
|
||||
#include "info/channel_statistics/earn/earn_icons.h"
|
||||
#include "lang/lang_text_entity.h"
|
||||
|
||||
#include "info/profile/info_profile_icon.h"
|
||||
#include "lang/lang_text_entity.h"
|
||||
#include "main/main_session.h"
|
||||
#include "styles/style_ayu_styles.h"
|
||||
#include "styles/style_boxes.h"
|
||||
@@ -37,6 +33,8 @@
|
||||
#include "ui/widgets/labels.h"
|
||||
#include "window/window_session_controller.h"
|
||||
|
||||
#include <QSvgRenderer>
|
||||
|
||||
namespace Ui {
|
||||
namespace {
|
||||
|
||||
|
||||
@@ -6,8 +6,10 @@
|
||||
// Copyright @Radolyn, 2026
|
||||
#include "ayu/ui/boxes/donate_qr_box.h"
|
||||
|
||||
#include "lang_auto.h"
|
||||
#include "qr/qr_generate.h"
|
||||
#include "styles/style_boxes.h"
|
||||
#include "styles/style_giveaway.h"
|
||||
#include "styles/style_intro.h"
|
||||
#include "styles/style_layers.h"
|
||||
#include "ui/painter.h"
|
||||
@@ -16,16 +18,13 @@
|
||||
#include "ui/vertical_list.h"
|
||||
#include "ui/controls/invite_link_label.h"
|
||||
#include "ui/layers/generic_box.h"
|
||||
#include "ui/toast/toast.h"
|
||||
#include "ui/widgets/buttons.h"
|
||||
|
||||
#include <QtGui/QClipboard>
|
||||
#include <QtGui/QGuiApplication>
|
||||
#include <QtSvg/QSvgRenderer>
|
||||
|
||||
#include "lang_auto.h"
|
||||
#include "styles/style_giveaway.h"
|
||||
#include "ui/toast/toast.h"
|
||||
|
||||
namespace Ui {
|
||||
namespace {
|
||||
|
||||
|
||||
@@ -4,10 +4,9 @@
|
||||
// but be respectful and credit the original author.
|
||||
//
|
||||
// Copyright @Radolyn, 2026
|
||||
#include "edit_mark_box.h"
|
||||
|
||||
#include <utility>
|
||||
#include "ayu/ui/boxes/edit_mark_box.h"
|
||||
|
||||
#include "ayu/ayu_settings.h"
|
||||
#include "boxes/peer_list_controllers.h"
|
||||
#include "lang/lang_keys.h"
|
||||
#include "styles/style_boxes.h"
|
||||
@@ -17,7 +16,7 @@
|
||||
#include "ui/widgets/fields/input_field.h"
|
||||
#include "ui/widgets/fields/special_fields.h"
|
||||
|
||||
#include "ayu/ayu_settings.h"
|
||||
#include <utility>
|
||||
|
||||
EditMarkBox::EditMarkBox(QWidget *,
|
||||
rpl::producer<QString> title,
|
||||
|
||||
@@ -4,48 +4,40 @@
|
||||
// but be respectful and credit the original author.
|
||||
//
|
||||
// Copyright @Radolyn, 2026
|
||||
#include "font_selector.h"
|
||||
#include "ayu/ui/boxes/font_selector.h"
|
||||
|
||||
#include "ayu/ayu_settings.h"
|
||||
#include "ayu/ayu_ui_settings.h"
|
||||
#include "boxes/premium_preview_box.h"
|
||||
#include "core/application.h"
|
||||
#include "data/data_peer_values.h"
|
||||
#include "lang/lang_instance.h"
|
||||
#include "main/main_session.h"
|
||||
#include "settings/settings_common.h"
|
||||
#include "storage/localstorage.h"
|
||||
#include "styles/style_boxes.h"
|
||||
#include "styles/style_chat_helpers.h"
|
||||
#include "styles/style_layers.h"
|
||||
#include "styles/style_passport.h"
|
||||
#include "ui/boxes/confirm_box.h"
|
||||
#include "ui/effects/ripple_animation.h"
|
||||
#include "ui/painter.h"
|
||||
#include "ui/text/text_entity.h"
|
||||
#include "ui/text/text_options.h"
|
||||
#include "ui/toast/toast.h"
|
||||
#include "ui/ui_utility.h"
|
||||
#include "ui/widgets/box_content_divider.h"
|
||||
#include "ui/widgets/checkbox.h"
|
||||
#include "ui/widgets/dropdown_menu.h"
|
||||
#include "ui/widgets/labels.h"
|
||||
#include "ui/widgets/multi_select.h"
|
||||
#include "ui/widgets/scroll_area.h"
|
||||
#include "ui/widgets/dropdown_menu.h"
|
||||
#include "ui/widgets/box_content_divider.h"
|
||||
#include "ui/text/text_entity.h"
|
||||
#include "ui/wrap/vertical_layout.h"
|
||||
#include "ui/wrap/slide_wrap.h"
|
||||
#include "ui/effects/ripple_animation.h"
|
||||
#include "ui/toast/toast.h"
|
||||
#include "ui/text/text_options.h"
|
||||
#include "ui/painter.h"
|
||||
#include "storage/localstorage.h"
|
||||
#include "boxes/premium_preview_box.h"
|
||||
#include "ui/boxes/confirm_box.h"
|
||||
#include "main/main_session.h"
|
||||
#include "mainwidget.h"
|
||||
#include "mainwindow.h"
|
||||
#include "core/application.h"
|
||||
#include "lang/lang_instance.h"
|
||||
#include "lang/lang_cloud_manager.h"
|
||||
#include "settings/settings_common.h"
|
||||
#include "spellcheck/spellcheck_types.h"
|
||||
#include "ui/wrap/vertical_layout.h"
|
||||
#include "window/window_session_controller.h"
|
||||
#include "styles/style_layers.h"
|
||||
#include "styles/style_boxes.h"
|
||||
#include "styles/style_info.h"
|
||||
#include "styles/style_passport.h"
|
||||
#include "styles/style_chat_helpers.h"
|
||||
|
||||
#include <QtGui/QGuiApplication>
|
||||
#include <QFontDatabase>
|
||||
#include <QApplication>
|
||||
|
||||
#include <ayu/ayu_settings.h>
|
||||
|
||||
#include "ayu/ayu_ui_settings.h"
|
||||
#include "ui/ui_utility.h"
|
||||
#include <QFontDatabase>
|
||||
|
||||
struct Font
|
||||
{
|
||||
|
||||
@@ -6,31 +6,23 @@
|
||||
// Copyright @Radolyn, 2026
|
||||
#include "ayu/ui/boxes/import_filters_box.h"
|
||||
|
||||
#include "qr/qr_generate.h"
|
||||
#include "styles/style_boxes.h"
|
||||
#include "styles/style_intro.h"
|
||||
#include "styles/style_layers.h"
|
||||
#include "ui/painter.h"
|
||||
#include "ui/rect.h"
|
||||
#include "ui/rp_widget.h"
|
||||
#include "ui/vertical_list.h"
|
||||
#include "ui/controls/invite_link_label.h"
|
||||
#include "ui/layers/generic_box.h"
|
||||
#include "ui/widgets/buttons.h"
|
||||
#include "ui/widgets/fields/input_field.h"
|
||||
|
||||
#include <QtGui/QClipboard>
|
||||
#include <QtGui/QGuiApplication>
|
||||
#include <QtSvg/QSvgRenderer>
|
||||
|
||||
#include "lang_auto.h"
|
||||
#include "ayu/features/filters/filters_utils.h"
|
||||
#include "styles/style_giveaway.h"
|
||||
#include "styles/style_layers.h"
|
||||
#include "styles/style_settings.h"
|
||||
#include "ui/rect.h"
|
||||
#include "ui/rp_widget.h"
|
||||
#include "ui/layers/generic_box.h"
|
||||
#include "ui/toast/toast.h"
|
||||
#include "ui/widgets/buttons.h"
|
||||
#include "ui/widgets/checkbox.h"
|
||||
#include "ui/widgets/fields/input_field.h"
|
||||
#include "ui/wrap/slide_wrap.h"
|
||||
|
||||
#include <QtGui/QClipboard>
|
||||
#include <QtGui/QGuiApplication>
|
||||
|
||||
namespace Ui {
|
||||
|
||||
void FillImportFiltersBox(not_null<Ui::GenericBox*> box, bool import) {
|
||||
|
||||
@@ -4,27 +4,27 @@
|
||||
// but be respectful and credit the original author.
|
||||
//
|
||||
// Copyright @Radolyn, 2026
|
||||
#include "message_shot_box.h"
|
||||
|
||||
#include <memory>
|
||||
#include <QFileDialog>
|
||||
#include <QGuiApplication>
|
||||
#include "styles/style_ayu_styles.h"
|
||||
#include "ayu/ui/boxes/message_shot_box.h"
|
||||
|
||||
#include "lang_auto.h"
|
||||
#include "theme_selector_box.h"
|
||||
#include "ayu/ayu_settings.h"
|
||||
#include "ayu/ui/boxes/theme_selector_box.h"
|
||||
#include "ayu/ui/components/image_view.h"
|
||||
#include "ayu/utils/telegram_helpers.h"
|
||||
#include "boxes/abstract_box.h"
|
||||
#include "main/main_session.h"
|
||||
#include "settings/settings_common.h"
|
||||
#include "styles/style_ayu_styles.h"
|
||||
#include "styles/style_layers.h"
|
||||
#include "styles/style_settings.h"
|
||||
#include "ui/vertical_list.h"
|
||||
#include "ui/widgets/buttons.h"
|
||||
#include "ui/wrap/vertical_layout.h"
|
||||
|
||||
#include <memory>
|
||||
#include <QFileDialog>
|
||||
#include <QGuiApplication>
|
||||
|
||||
MessageShotBox::MessageShotBox(
|
||||
QWidget *parent,
|
||||
AyuFeatures::MessageShot::ShotConfig config)
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
// but be respectful and credit the original author.
|
||||
//
|
||||
// Copyright @Radolyn, 2026
|
||||
#include "theme_selector_box.h"
|
||||
#include "ayu/ui/boxes/theme_selector_box.h"
|
||||
|
||||
#include "lang_auto.h"
|
||||
#include "ayu/features/message_shot/message_shot_theme_state.h"
|
||||
|
||||
@@ -4,13 +4,12 @@
|
||||
// but be respectful and credit the original author.
|
||||
//
|
||||
// Copyright @Radolyn, 2026
|
||||
#include "icon_picker.h"
|
||||
#include "ayu/ui/components/icon_picker.h"
|
||||
|
||||
#include "tray.h"
|
||||
#include "ayu/ayu_settings.h"
|
||||
#include "core/application.h"
|
||||
#include "styles/style_layers.h"
|
||||
|
||||
#include "ayu/ui/ayu_logo.h"
|
||||
#include "core/application.h"
|
||||
#include "main/main_domain.h"
|
||||
#include "styles/style_ayu_styles.h"
|
||||
#include "ui/painter.h"
|
||||
@@ -20,6 +19,8 @@
|
||||
#include "ayu/utils/windows_utils.h"
|
||||
#endif
|
||||
|
||||
namespace {
|
||||
|
||||
const QVector<QString> icons{
|
||||
AyuAssets::DEFAULT_ICON,
|
||||
AyuAssets::ALT_ICON,
|
||||
@@ -34,38 +35,9 @@ const QVector<QString> icons{
|
||||
AyuAssets::CHIBI2_ICON,
|
||||
AyuAssets::EXTERA2_ICON,
|
||||
};
|
||||
std::unordered_map<QString, QImage> cachedIcons;
|
||||
|
||||
const auto rows = static_cast<int>(icons.size()) / 4 + std::min(1, static_cast<int>(icons.size()) % 4);
|
||||
|
||||
void drawIcon(QPainter &p, const QImage &icon, int xOffset, int yOffset, float strokeOpacity) {
|
||||
xOffset += st::cpPadding;
|
||||
|
||||
{
|
||||
PainterHighQualityEnabler hq(p);
|
||||
p.save();
|
||||
p.setPen(QPen(st::boxDividerBg, 0));
|
||||
p.setBrush(QBrush(st::boxDividerBg));
|
||||
p.setOpacity(strokeOpacity);
|
||||
p.drawRoundedRect(
|
||||
xOffset + st::cpSelectedPadding,
|
||||
yOffset + st::cpSelectedPadding,
|
||||
st::cpIconSize + st::cpSelectedPadding * 2,
|
||||
st::cpIconSize + st::cpSelectedPadding * 2,
|
||||
st::cpSelectedRounding,
|
||||
st::cpSelectedRounding
|
||||
);
|
||||
p.restore();
|
||||
}
|
||||
|
||||
const auto rect = QRect(
|
||||
xOffset + st::cpImagePadding,
|
||||
yOffset + st::cpImagePadding,
|
||||
st::cpIconSize,
|
||||
st::cpIconSize
|
||||
);
|
||||
p.drawImage(rect, icon);
|
||||
}
|
||||
const auto rows = static_cast<int>(icons.size()) / IconPicker::kColumns
|
||||
+ std::min(1, static_cast<int>(icons.size()) % IconPicker::kColumns);
|
||||
|
||||
void applyIcon() {
|
||||
#ifdef Q_OS_WIN
|
||||
@@ -79,49 +51,81 @@ void applyIcon() {
|
||||
Core::App().domain().notifyUnreadBadgeChanged();
|
||||
}
|
||||
|
||||
} // namespace
|
||||
|
||||
IconPicker::IconPicker(QWidget *parent)
|
||||
: RpWidget(parent) {
|
||||
setMinimumSize(st::boxWidth, (st::cpIconSize + st::cpPadding) * rows - st::cpPadding);
|
||||
widthValue() | rpl::on_next([=](int w) {
|
||||
const auto cell = w / kColumns;
|
||||
const auto iconSize = st::iconPickerIconSize;
|
||||
const auto h = rows * cell - (cell - iconSize);
|
||||
resize(w, h);
|
||||
}, lifetime());
|
||||
}
|
||||
|
||||
IconPicker::~IconPicker() {
|
||||
cachedIcons.clear();
|
||||
void IconPicker::drawIcon(QPainter &p, const QImage &icon, int x, int y, float strokeOpacity) {
|
||||
{
|
||||
PainterHighQualityEnabler hq(p);
|
||||
p.save();
|
||||
p.setPen(QPen(st::boxDividerBg, 0));
|
||||
p.setBrush(QBrush(st::boxDividerBg));
|
||||
p.setOpacity(strokeOpacity);
|
||||
p.drawRoundedRect(
|
||||
x + st::iconPickerSelectedPadding,
|
||||
y + st::iconPickerSelectedPadding,
|
||||
st::iconPickerIconSize + st::iconPickerSelectedPadding * 2,
|
||||
st::iconPickerIconSize + st::iconPickerSelectedPadding * 2,
|
||||
st::iconPickerSelectedRounding,
|
||||
st::iconPickerSelectedRounding
|
||||
);
|
||||
p.restore();
|
||||
}
|
||||
|
||||
const auto rect = QRect(
|
||||
x + st::iconPickerImagePadding,
|
||||
y + st::iconPickerImagePadding,
|
||||
st::iconPickerIconSize,
|
||||
st::iconPickerIconSize
|
||||
);
|
||||
p.drawImage(rect, icon);
|
||||
}
|
||||
|
||||
int IconPicker::cellWidth() const {
|
||||
return width() / kColumns;
|
||||
}
|
||||
|
||||
void IconPicker::paintEvent(QPaintEvent *e) {
|
||||
Painter p(this);
|
||||
|
||||
auto offset = st::boxWidth / 2 - (st::cpIconSize + st::cpSpacingX) * 2;
|
||||
const auto cell = cellWidth();
|
||||
const auto iconSize = st::iconPickerIconSize;
|
||||
|
||||
for (int row = 0; row < rows; row++) {
|
||||
const auto columns = std::min(4, static_cast<int>(icons.size()) - row * 4);
|
||||
const auto columns = std::min(kColumns, static_cast<int>(icons.size()) - row * kColumns);
|
||||
for (int i = 0; i < columns; i++) {
|
||||
auto const idx = i + row * 4;
|
||||
auto const idx = i + row * kColumns;
|
||||
|
||||
const auto &iconName = icons[idx];
|
||||
if (iconName.isEmpty()) {
|
||||
continue;
|
||||
}
|
||||
QImage icon;
|
||||
if (const auto cached = cachedIcons.find(iconName); cached != cachedIcons.end()) {
|
||||
if (const auto cached = _cachedIcons.find(iconName); cached != _cachedIcons.end()) {
|
||||
icon = cached->second;
|
||||
} else {
|
||||
icon = cachedIcons[iconName] = AyuAssets::loadPreview(iconName);
|
||||
icon = _cachedIcons[iconName] = AyuAssets::loadPreview(iconName);
|
||||
}
|
||||
auto opacity = 0.0f;
|
||||
if (iconName == wasSelected) {
|
||||
opacity = 1.0f - animation.value(1.0f);
|
||||
if (iconName == _wasSelected) {
|
||||
opacity = 1.0f - _animation.value(1.0f);
|
||||
} else if (iconName == AyuAssets::currentAppLogoName()) {
|
||||
opacity = wasSelected.isEmpty() ? 1.0f : animation.value(1.0f);
|
||||
opacity = _wasSelected.isEmpty() ? 1.0f : _animation.value(1.0f);
|
||||
}
|
||||
|
||||
drawIcon(
|
||||
p,
|
||||
icon,
|
||||
(st::cpIconSize + st::cpSpacingX) * i + offset,
|
||||
row * (st::cpIconSize + st::cpSpacingY),
|
||||
opacity
|
||||
);
|
||||
const auto x = i * cell + (cell - iconSize) / 2;
|
||||
const auto y = row * cell;
|
||||
|
||||
drawIcon(p, icon, x, y, opacity);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -130,24 +134,27 @@ void IconPicker::mousePressEvent(QMouseEvent *e) {
|
||||
const auto &settings = AyuSettings::getInstance();
|
||||
auto changed = false;
|
||||
|
||||
auto x = e->pos().x();
|
||||
for (int row = 0; row < rows; row++) {
|
||||
const auto columns = std::min(4, static_cast<int>(icons.size()) - row * 4);
|
||||
for (int i = 0; i < columns; i++) {
|
||||
auto const idx = i + row * 4;
|
||||
auto const xOffset = (st::cpIconSize + st::cpSpacingX) * i + st::cpPadding;
|
||||
auto const yOffset = row * (st::cpIconSize + st::cpSpacingY);
|
||||
const auto cell = cellWidth();
|
||||
const auto iconSize = st::iconPickerIconSize;
|
||||
|
||||
if (x >= xOffset && x <= xOffset + st::cpIconSize && e->pos().y() >= yOffset
|
||||
&& e->pos().y() <= yOffset + st::cpIconSize) {
|
||||
for (int row = 0; row < rows; row++) {
|
||||
const auto columns = std::min(kColumns, static_cast<int>(icons.size()) - row * kColumns);
|
||||
for (int i = 0; i < columns; i++) {
|
||||
auto const idx = i + row * kColumns;
|
||||
|
||||
const auto x = i * cell + (cell - iconSize) / 2;
|
||||
const auto y = row * cell;
|
||||
|
||||
if (e->pos().x() >= x && e->pos().x() <= x + iconSize
|
||||
&& e->pos().y() >= y && e->pos().y() <= y + iconSize) {
|
||||
const auto &iconName = icons[idx];
|
||||
if (iconName.isEmpty()) {
|
||||
break;
|
||||
}
|
||||
|
||||
if (settings.appIcon() != iconName) {
|
||||
wasSelected = settings.appIcon();
|
||||
animation.start(
|
||||
_wasSelected = settings.appIcon();
|
||||
_animation.start(
|
||||
[=]
|
||||
{
|
||||
update();
|
||||
|
||||
@@ -13,12 +13,19 @@ class IconPicker : public Ui::RpWidget
|
||||
{
|
||||
public:
|
||||
IconPicker(QWidget *parent);
|
||||
~IconPicker();
|
||||
~IconPicker() = default;
|
||||
|
||||
static constexpr int kColumns = 4;
|
||||
|
||||
protected:
|
||||
void paintEvent(QPaintEvent *e) override;
|
||||
void mousePressEvent(QMouseEvent *e) override;
|
||||
|
||||
Ui::Animations::Simple animation;
|
||||
QString wasSelected;
|
||||
private:
|
||||
void drawIcon(QPainter &p, const QImage &icon, int x, int y, float strokeOpacity);
|
||||
[[nodiscard]] int cellWidth() const;
|
||||
|
||||
Ui::Animations::Simple _animation;
|
||||
QString _wasSelected;
|
||||
std::unordered_map<QString, QImage> _cachedIcons;
|
||||
};
|
||||
|
||||
@@ -4,12 +4,11 @@
|
||||
// but be respectful and credit the original author.
|
||||
//
|
||||
// Copyright @Radolyn, 2026
|
||||
#include "image_view.h"
|
||||
#include "ayu/ui/components/image_view.h"
|
||||
|
||||
#include "ayu/features/message_shot/message_shot.h"
|
||||
#include "styles/style_ayu_styles.h"
|
||||
|
||||
#include "ayu/utils/telegram_helpers.h"
|
||||
#include "styles/style_ayu_styles.h"
|
||||
#include "styles/style_chat.h"
|
||||
#include "ui/painter.h"
|
||||
|
||||
|
||||
@@ -4,11 +4,7 @@
|
||||
// but be respectful and credit the original author.
|
||||
//
|
||||
// Copyright @Radolyn, 2026
|
||||
#include "saved_music.h"
|
||||
|
||||
#include "info/profile/info_profile_music_button.h"
|
||||
|
||||
#include <QSvgRenderer>
|
||||
#include "ayu/ui/components/saved_music.h"
|
||||
|
||||
#include "ayu/ayu_settings.h"
|
||||
#include "ayu/ui/utils/color_utils.h"
|
||||
@@ -18,6 +14,7 @@
|
||||
#include "data/data_document_media.h"
|
||||
#include "data/data_file_origin.h"
|
||||
#include "data/data_session.h"
|
||||
#include "info/profile/info_profile_music_button.h"
|
||||
#include "main/main_session.h"
|
||||
#include "main/main_session_settings.h"
|
||||
#include "styles/palette.h"
|
||||
@@ -28,6 +25,8 @@
|
||||
#include "ui/widgets/labels.h"
|
||||
#include "window/themes/window_theme.h"
|
||||
|
||||
#include <QSvgRenderer>
|
||||
|
||||
namespace Info::Profile {
|
||||
|
||||
namespace {
|
||||
|
||||
@@ -14,24 +14,14 @@
|
||||
#include "ayu/data/messages_storage.h"
|
||||
#include "ayu/features/forward/ayu_forward.h"
|
||||
#include "ayu/ui/context_menu/menu_item_subtext.h"
|
||||
#include "ayu/utils/qt_key_modifiers_extended.h"
|
||||
#include "history/history_item_components.h"
|
||||
#include "main/session/send_as_peers.h"
|
||||
|
||||
#include "core/mime_type.h"
|
||||
#include "styles/style_ayu_icons.h"
|
||||
#include "styles/style_layers.h"
|
||||
#include "styles/style_menu_icons.h"
|
||||
#include "ui/widgets/popup_menu.h"
|
||||
#include "ui/widgets/menu/menu_add_action_callback_factory.h"
|
||||
#include "window/window_peer_menu.h"
|
||||
|
||||
#include "ayu/ui/message_history/history_section.h"
|
||||
#include "ayu/ui/settings/filters/edit_filter.h"
|
||||
#include "ayu/utils/qt_key_modifiers_extended.h"
|
||||
#include "ayu/utils/telegram_helpers.h"
|
||||
#include "base/call_delayed.h"
|
||||
#include "base/random.h"
|
||||
#include "base/unixtime.h"
|
||||
#include "core/mime_type.h"
|
||||
#include "data/data_channel.h"
|
||||
#include "data/data_chat.h"
|
||||
#include "data/data_forum_topic.h"
|
||||
@@ -39,10 +29,18 @@
|
||||
#include "data/data_search_controller.h"
|
||||
#include "data/data_session.h"
|
||||
#include "data/data_user.h"
|
||||
#include "history/history_item_components.h"
|
||||
#include "history/view/history_view_context_menu.h"
|
||||
#include "history/view/history_view_element.h"
|
||||
#include "main/session/send_as_peers.h"
|
||||
#include "styles/style_ayu_icons.h"
|
||||
#include "styles/style_layers.h"
|
||||
#include "styles/style_menu_icons.h"
|
||||
#include "ui/boxes/confirm_box.h"
|
||||
#include "ui/widgets/popup_menu.h"
|
||||
#include "ui/widgets/menu/menu_add_action_callback_factory.h"
|
||||
#include "window/window_controller.h"
|
||||
#include "window/window_peer_menu.h"
|
||||
#include "window/window_session_controller.h"
|
||||
|
||||
namespace AyuUi {
|
||||
|
||||
@@ -4,15 +4,12 @@
|
||||
// but be respectful and credit the original author.
|
||||
//
|
||||
// Copyright @Radolyn, 2026
|
||||
#include <utility>
|
||||
|
||||
#include "ayu/ui/context_menu/menu_item_subtext.h"
|
||||
|
||||
#include "mainwindow.h"
|
||||
#include "qguiapplication.h"
|
||||
#include "ayu/data/entities.h"
|
||||
#include "ayu/utils/telegram_helpers.h"
|
||||
|
||||
#include "base/unixtime.h"
|
||||
#include "data/data_user.h"
|
||||
#include "lang/lang_keys.h"
|
||||
@@ -23,6 +20,8 @@
|
||||
#include "ui/widgets/menu/menu_action.h"
|
||||
#include "window/window_session_controller.h"
|
||||
|
||||
#include <utility>
|
||||
|
||||
namespace Ui {
|
||||
namespace {
|
||||
|
||||
|
||||
@@ -5,12 +5,12 @@
|
||||
//
|
||||
// Copyright @Radolyn, 2026
|
||||
#include "ayu/ui/message_history/history_item.h"
|
||||
#include "ayu/data/entities.h"
|
||||
|
||||
#include "api/api_chat_participants.h"
|
||||
#include "history/history_item.h"
|
||||
#include "api/api_text_entities.h"
|
||||
#include "ayu/utils/ayu_mapper.h"
|
||||
#include "ayu/data/entities.h"
|
||||
#include "ayu/ui/message_history/history_inner.h"
|
||||
#include "ayu/utils/ayu_mapper.h"
|
||||
#include "base/unixtime.h"
|
||||
#include "core/application.h"
|
||||
#include "core/click_handler_types.h"
|
||||
@@ -20,11 +20,7 @@
|
||||
#include "data/data_session.h"
|
||||
#include "data/data_user.h"
|
||||
#include "history/history.h"
|
||||
#include "history/history_item.h"
|
||||
#include "history/history_item_helpers.h"
|
||||
#include "history/view/history_view_element.h"
|
||||
#include "lang/lang_keys.h"
|
||||
#include "main/main_session.h"
|
||||
#include "ui/basic_click_handlers.h"
|
||||
#include "ui/text/text_utilities.h"
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
// but be respectful and credit the original author.
|
||||
//
|
||||
// Copyright @Radolyn, 2026
|
||||
#include "edit_filter.h"
|
||||
#include "ayu/ui/settings/filters/edit_filter.h"
|
||||
|
||||
#include "lang_auto.h"
|
||||
#include "ayu/ayu_settings.h"
|
||||
@@ -23,9 +23,7 @@
|
||||
#include "styles/style_window.h"
|
||||
#include "ui/ui_utility.h"
|
||||
#include "ui/boxes/confirm_box.h"
|
||||
#include "ui/effects/animations.h"
|
||||
#include "ui/text/text.h"
|
||||
#include "ui/text/text_utilities.h"
|
||||
#include "ui/toast/toast.h"
|
||||
#include "ui/widgets/checkbox.h"
|
||||
#include "ui/widgets/labels.h"
|
||||
|
||||
@@ -4,14 +4,12 @@
|
||||
// but be respectful and credit the original author.
|
||||
//
|
||||
// Copyright @Radolyn, 2026
|
||||
#include "per_dialog_filter.h"
|
||||
|
||||
#include <utility>
|
||||
#include "ayu/ui/settings/filters/per_dialog_filter.h"
|
||||
|
||||
#include "lang_auto.h"
|
||||
#include "settings_filters_list.h"
|
||||
#include "ayu/ayu_settings.h"
|
||||
#include "ayu/data/ayu_database.h"
|
||||
#include "ayu/ui/settings/filters/settings_filters_list.h"
|
||||
#include "ayu/utils/telegram_helpers.h"
|
||||
#include "data/data_peer.h"
|
||||
#include "data/data_session.h"
|
||||
@@ -20,6 +18,8 @@
|
||||
#include "ui/painter.h"
|
||||
#include "window/window_session_controller.h"
|
||||
|
||||
#include <utility>
|
||||
|
||||
namespace Settings {
|
||||
|
||||
PerDialogFiltersListRow::PerDialogFiltersListRow(PeerId peer)
|
||||
|
||||
@@ -4,17 +4,17 @@
|
||||
// but be respectful and credit the original author.
|
||||
//
|
||||
// Copyright @Radolyn, 2026
|
||||
#include "settings_filters_list.h"
|
||||
#include "ayu/ui/settings/filters/settings_filters_list.h"
|
||||
|
||||
#include "edit_filter.h"
|
||||
#include "lang_auto.h"
|
||||
#include "per_dialog_filter.h"
|
||||
#include "ayu/ayu_settings.h"
|
||||
#include "ayu/data/ayu_database.h"
|
||||
#include "ayu/ui/settings/settings_ayu_utils.h"
|
||||
#include "ayu/features/filters/filters_cache_controller.h"
|
||||
#include "ayu/features/filters/filters_utils.h"
|
||||
#include "ayu/ui/components/icon_picker.h"
|
||||
#include "ayu/ui/settings/settings_ayu_utils.h"
|
||||
#include "ayu/ui/settings/filters/edit_filter.h"
|
||||
#include "ayu/ui/settings/filters/per_dialog_filter.h"
|
||||
#include "ayu/utils/telegram_helpers.h"
|
||||
#include "boxes/connection_box.h"
|
||||
#include "data/data_channel.h"
|
||||
|
||||
@@ -4,12 +4,11 @@
|
||||
// but be respectful and credit the original author.
|
||||
//
|
||||
// Copyright @Radolyn, 2026
|
||||
#include "settings_appearance.h"
|
||||
#include "ayu/ui/settings/settings_appearance.h"
|
||||
|
||||
#include "lang_auto.h"
|
||||
#include "apiwrap.h"
|
||||
#include "lang_auto.h"
|
||||
#include "ayu/ayu_settings.h"
|
||||
#include "ayu/ayu_ui_settings.h"
|
||||
#include "ayu/ui/ayu_userpic.h"
|
||||
#include "ayu/ui/boxes/font_selector.h"
|
||||
#include "ayu/ui/components/icon_picker.h"
|
||||
@@ -29,12 +28,11 @@
|
||||
#include "styles/style_layers.h"
|
||||
#include "styles/style_menu_icons.h"
|
||||
#include "styles/style_settings.h"
|
||||
#include "ui/boxes/confirm_box.h"
|
||||
#include "ui/effects/ripple_animation.h"
|
||||
#include "ui/empty_userpic.h"
|
||||
#include "ui/painter.h"
|
||||
#include "ui/userpic_view.h"
|
||||
#include "ui/widgets/buttons.h"
|
||||
#include "ui/boxes/confirm_box.h"
|
||||
#include "ui/effects/ripple_animation.h"
|
||||
#include "ui/widgets/labels.h"
|
||||
#include "ui/wrap/padding_wrap.h"
|
||||
#include "ui/wrap/vertical_layout.h"
|
||||
@@ -70,7 +68,7 @@ void BuildAppIcon(SectionBuilder &builder, AyuSectionBuilder &ayu) {
|
||||
builder.add([](const WidgetContext &ctx) -> SectionBuilder::WidgetToAdd {
|
||||
return {
|
||||
.widget = object_ptr<IconPicker>(ctx.container),
|
||||
.margin = st::settingsCheckboxPadding,
|
||||
.margin = st::settingsButtonNoIcon.padding,
|
||||
};
|
||||
}, [] {
|
||||
return SearchEntry{
|
||||
@@ -79,6 +77,7 @@ void BuildAppIcon(SectionBuilder &builder, AyuSectionBuilder &ayu) {
|
||||
.keywords = { u"icon"_q, u"app"_q, u"logo"_q },
|
||||
};
|
||||
});
|
||||
builder.addSkip();
|
||||
|
||||
#ifdef Q_OS_WIN
|
||||
builder.addDivider();
|
||||
@@ -230,9 +229,9 @@ void BuildAvatarCorners(SectionBuilder &builder, AyuSectionBuilder &ayu) {
|
||||
const auto mapRadius = [](int val)
|
||||
{
|
||||
if (val == 0) {
|
||||
return tr::ayu_AvatarCornersSquare(tr::now);
|
||||
return tr::ayu_AvatarCornersSquare(tr::now).toUpper();
|
||||
} else if (val == AyuUserpic::kMaxAvatarCorners) {
|
||||
return tr::ayu_AvatarCornersCircle(tr::now);
|
||||
return tr::ayu_AvatarCornersCircle(tr::now).toUpper();
|
||||
}
|
||||
return QString::number(val);
|
||||
};
|
||||
|
||||
@@ -4,13 +4,13 @@
|
||||
// but be respectful and credit the original author.
|
||||
//
|
||||
// Copyright @Radolyn, 2026
|
||||
#include "settings_ayu.h"
|
||||
#include "ayu/ui/settings/settings_ayu.h"
|
||||
|
||||
#include "lang_auto.h"
|
||||
#include "settings_ayu_utils.h"
|
||||
#include "ayu/ayu_settings.h"
|
||||
#include "ayu/ui/ayu_userpic.h"
|
||||
#include "ayu/ui/settings/ayu_builder.h"
|
||||
#include "ayu/ui/settings/settings_ayu_utils.h"
|
||||
#include "ayu/ui/settings/settings_main.h"
|
||||
#include "boxes/peer_list_box.h"
|
||||
#include "core/application.h"
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
// but be respectful and credit the original author.
|
||||
//
|
||||
// Copyright @Radolyn, 2026
|
||||
#include "settings_ayu_utils.h"
|
||||
#include "ayu/ui/settings/settings_ayu_utils.h"
|
||||
|
||||
#include "lang/lang_text_entity.h"
|
||||
#include "settings/settings_common.h"
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
// but be respectful and credit the original author.
|
||||
//
|
||||
// Copyright @Radolyn, 2026
|
||||
#include "settings_chats.h"
|
||||
#include "ayu/ui/settings/settings_chats.h"
|
||||
|
||||
#include "lang_auto.h"
|
||||
#include "ayu/ayu_settings.h"
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
// but be respectful and credit the original author.
|
||||
//
|
||||
// Copyright @Radolyn, 2026
|
||||
#include "settings_filters.h"
|
||||
#include "ayu/ui/settings/settings_filters.h"
|
||||
|
||||
#include "lang_auto.h"
|
||||
#include "ayu/ayu_settings.h"
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
// but be respectful and credit the original author.
|
||||
//
|
||||
// Copyright @Radolyn, 2026
|
||||
#include "settings_general.h"
|
||||
#include "ayu/ui/settings/settings_general.h"
|
||||
|
||||
#include "lang_auto.h"
|
||||
#include "ayu/ayu_settings.h"
|
||||
|
||||
@@ -4,20 +4,18 @@
|
||||
// but be respectful and credit the original author.
|
||||
//
|
||||
// Copyright @Radolyn, 2026
|
||||
#include "settings_main.h"
|
||||
|
||||
#include <QDesktopServices>
|
||||
#include "ayu/ui/settings/settings_main.h"
|
||||
|
||||
#include "settings/sections/settings_main.h"
|
||||
#include "lang_auto.h"
|
||||
#include "settings_appearance.h"
|
||||
#include "settings_ayu.h"
|
||||
#include "settings_chats.h"
|
||||
#include "settings_filters.h"
|
||||
#include "settings_general.h"
|
||||
#include "settings_other.h"
|
||||
#include "ayu/ayu_settings.h"
|
||||
#include "ayu/ui/ayu_logo.h"
|
||||
#include "ayu/ui/settings/settings_appearance.h"
|
||||
#include "ayu/ui/settings/settings_ayu.h"
|
||||
#include "ayu/ui/settings/settings_chats.h"
|
||||
#include "ayu/ui/settings/settings_filters.h"
|
||||
#include "ayu/ui/settings/settings_general.h"
|
||||
#include "ayu/ui/settings/settings_other.h"
|
||||
#include "core/version.h"
|
||||
#include "settings/settings_builder.h"
|
||||
#include "settings/settings_common.h"
|
||||
@@ -32,6 +30,8 @@
|
||||
#include "window/window_session_controller.h"
|
||||
#include "window/window_session_controller_link_info.h"
|
||||
|
||||
#include <QDesktopServices>
|
||||
|
||||
namespace Settings {
|
||||
|
||||
using namespace Builder;
|
||||
|
||||
@@ -4,11 +4,7 @@
|
||||
// but be respectful and credit the original author.
|
||||
//
|
||||
// Copyright @Radolyn, 2026
|
||||
#include "settings_other.h"
|
||||
|
||||
#include <QDesktopServices>
|
||||
#include <QGuiApplication>
|
||||
#include <QSvgRenderer>
|
||||
#include "ayu/ui/settings/settings_other.h"
|
||||
|
||||
#include "lang_auto.h"
|
||||
#include "ayu/ayu_settings.h"
|
||||
@@ -19,7 +15,6 @@
|
||||
#include "boxes/abstract_box.h"
|
||||
#include "core/application.h"
|
||||
#include "lang/lang_text_entity.h"
|
||||
#include "main/main_session.h"
|
||||
#include "settings/settings_builder.h"
|
||||
#include "settings/settings_common.h"
|
||||
#include "styles/style_menu_icons.h"
|
||||
@@ -35,6 +30,10 @@
|
||||
#include "window/window_session_controller.h"
|
||||
#include "window/themes/window_theme.h"
|
||||
|
||||
#include <QDesktopServices>
|
||||
#include <QGuiApplication>
|
||||
#include <QSvgRenderer>
|
||||
|
||||
namespace Settings {
|
||||
|
||||
using namespace Builder;
|
||||
|
||||
@@ -4,12 +4,12 @@
|
||||
// but be respectful and credit the original author.
|
||||
//
|
||||
// Copyright @Radolyn, 2026
|
||||
#include "ayu_profile_values.h"
|
||||
#include "ayu/ui/utils/ayu_profile_values.h"
|
||||
|
||||
#include "ayu/ayu_settings.h"
|
||||
#include "ayu/utils/telegram_helpers.h"
|
||||
#include "data/data_peer.h"
|
||||
#include "lang/lang_text_entity.h"
|
||||
#include "ui/text/text_utilities.h"
|
||||
|
||||
constexpr auto kMaxChannelId = -1000000000000;
|
||||
|
||||
|
||||
@@ -6,7 +6,8 @@
|
||||
// Copyright @Radolyn, 2026
|
||||
//
|
||||
// Code is based on https://github.com/androidx/androidx/blob/androidx-main/palette/palette/src/main/java/androidx/palette/graphics/ColorCutQuantizer.java
|
||||
#include "color_cut_quantizer.h"
|
||||
#include "ayu/ui/utils/color_cut_quantizer.h"
|
||||
|
||||
#include "color_utils.h"
|
||||
|
||||
#include <algorithm>
|
||||
|
||||
@@ -6,10 +6,11 @@
|
||||
// Copyright @Radolyn, 2026
|
||||
#pragma once
|
||||
|
||||
#include "palette.h"
|
||||
#include <vector>
|
||||
#include <queue>
|
||||
#include "ayu/ui/utils/palette.h"
|
||||
|
||||
#include <functional>
|
||||
#include <queue>
|
||||
#include <vector>
|
||||
|
||||
namespace Ayu::Ui {
|
||||
|
||||
|
||||
@@ -6,11 +6,11 @@
|
||||
// Copyright @Radolyn, 2026
|
||||
//
|
||||
// Code is based on https://github.com/androidx/androidx
|
||||
#include "color_utils.h"
|
||||
#include "ayu/ui/utils/color_utils.h"
|
||||
|
||||
#include <QColor>
|
||||
#include <cmath>
|
||||
#include <algorithm>
|
||||
#include <cmath>
|
||||
#include <QColor>
|
||||
|
||||
namespace Ayu::Ui {
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
// but be respectful and credit the original author.
|
||||
//
|
||||
// Copyright @Radolyn, 2026
|
||||
#include "itunes_search.h"
|
||||
#include "ayu/ui/utils/itunes_search.h"
|
||||
|
||||
#include <QtCore/QCache>
|
||||
#include <QtCore/QEventLoop>
|
||||
|
||||
@@ -8,13 +8,14 @@
|
||||
// Code is based on:
|
||||
// - https://github.com/androidx/androidx/blob/androidx-main/palette/palette/src/main/java/androidx/palette/graphics/Palette.java
|
||||
// - https://github.com/androidx/androidx/blob/androidx-main/palette/palette/src/main/java/androidx/palette/graphics/Target.java
|
||||
#include "palette.h"
|
||||
#include "color_utils.h"
|
||||
#include "color_cut_quantizer.h"
|
||||
#include "ayu/ui/utils/palette.h"
|
||||
|
||||
#include "color_cut_quantizer.h"
|
||||
#include "color_utils.h"
|
||||
|
||||
#include <QImage>
|
||||
#include <algorithm>
|
||||
#include <cmath>
|
||||
#include <QImage>
|
||||
|
||||
namespace Ayu::Ui {
|
||||
|
||||
|
||||
@@ -4,14 +4,13 @@
|
||||
// but be respectful and credit the original author.
|
||||
//
|
||||
// Copyright @Radolyn, 2026
|
||||
#include "ayu_mapper.h"
|
||||
#include "ayu/utils/ayu_mapper.h"
|
||||
|
||||
#include "apiwrap.h"
|
||||
#include "api/api_text_entities.h"
|
||||
#include "history/history.h"
|
||||
#include "history/history_item.h"
|
||||
#include "history/history_item_components.h"
|
||||
#include "main/main_session.h"
|
||||
#include "mtproto/connection_abstract.h"
|
||||
#include "mtproto/details/mtproto_dump_to_text.h"
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
// but be respectful and credit the original author.
|
||||
//
|
||||
// Copyright @Radolyn, 2026
|
||||
#include "rc_manager.h"
|
||||
#include "ayu/utils/rc_manager.h"
|
||||
|
||||
#include <QJsonArray>
|
||||
#include <qjsondocument.h>
|
||||
|
||||
@@ -6,10 +6,10 @@
|
||||
// Copyright @Radolyn, 2026
|
||||
#pragma once
|
||||
|
||||
#include <QtNetwork/QNetworkReply>
|
||||
|
||||
#include "ayu/data/entities.h"
|
||||
|
||||
#include <QtNetwork/QNetworkReply>
|
||||
|
||||
extern std::unordered_set<ID> default_developers;
|
||||
extern std::unordered_set<ID> default_channels;
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
// but be respectful and credit the original author.
|
||||
//
|
||||
// Copyright @Radolyn, 2026
|
||||
#include "taptic_engine_dummy.h"
|
||||
#include "ayu/utils/taptic_engine/platform/taptic_engine_dummy.h"
|
||||
|
||||
#ifndef Q_OS_MAC
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
// but be respectful and credit the original author.
|
||||
//
|
||||
// Copyright @Radolyn, 2026
|
||||
#include "taptic_engine.h"
|
||||
#include "ayu/utils/taptic_engine/taptic_engine.h"
|
||||
|
||||
#if defined Q_OS_MAC
|
||||
#include "ayu/utils/taptic_engine/platform/taptic_engine_mac.h"
|
||||
|
||||
@@ -4,58 +4,53 @@
|
||||
// but be respectful and credit the original author.
|
||||
//
|
||||
// Copyright @Radolyn, 2026
|
||||
#include "telegram_helpers.h"
|
||||
|
||||
#include <functional>
|
||||
#include <latch>
|
||||
#include <QTimer>
|
||||
|
||||
#include <QtCore/QJsonDocument>
|
||||
#include <QtCore/QJsonObject>
|
||||
#include "ayu/utils/telegram_helpers.h"
|
||||
|
||||
#include "apiwrap.h"
|
||||
|
||||
#include "lang_auto.h"
|
||||
#include "rc_manager.h"
|
||||
#include "api/api_common.h"
|
||||
#include "ayu/ayu_settings.h"
|
||||
#include "ayu/ayu_state.h"
|
||||
#include "ayu/ayu_worker.h"
|
||||
#include "ayu/data/entities.h"
|
||||
#include "ayu/data/messages_storage.h"
|
||||
#include "ayu/features/filters/filters_controller.h"
|
||||
#include "ayu/utils/rc_manager.h"
|
||||
#include "base/unixtime.h"
|
||||
#include "core/mime_type.h"
|
||||
#include "data/data_channel.h"
|
||||
#include "data/data_chat.h"
|
||||
#include "data/data_document.h"
|
||||
#include "data/data_forum.h"
|
||||
#include "data/data_forum_topic.h"
|
||||
#include "data/data_histories.h"
|
||||
#include "data/data_peer_id.h"
|
||||
#include "data/data_photo.h"
|
||||
#include "data/data_user.h"
|
||||
|
||||
#include "data/data_document.h"
|
||||
#include "data/data_poll.h"
|
||||
#include "data/data_saved_sublist.h"
|
||||
#include "data/data_session.h"
|
||||
#include "data/data_user.h"
|
||||
#include "data/stickers/data_custom_emoji.h"
|
||||
#include "data/stickers/data_stickers.h"
|
||||
#include "history/history.h"
|
||||
#include "history/history_item.h"
|
||||
#include "history/history_item_components.h"
|
||||
#include "history/history_unread_things.h"
|
||||
#include "main/main_account.h"
|
||||
#include "main/main_session.h"
|
||||
#include "ui/text/format_values.h"
|
||||
|
||||
#include "api/api_common.h"
|
||||
#include "ayu/ayu_settings.h"
|
||||
#include "ayu/ayu_state.h"
|
||||
#include "ayu/data/messages_storage.h"
|
||||
#include "ayu/features/filters/filters_controller.h"
|
||||
#include "base/unixtime.h"
|
||||
#include "data/data_chat.h"
|
||||
#include "data/data_poll.h"
|
||||
#include "data/data_saved_sublist.h"
|
||||
#include "data/stickers/data_custom_emoji.h"
|
||||
#include "data/stickers/data_stickers.h"
|
||||
#include "lang/lang_keys.h"
|
||||
#include "main/main_account.h"
|
||||
#include "main/main_domain.h"
|
||||
#include "main/main_session.h"
|
||||
#include "styles/style_ayu_styles.h"
|
||||
#include "ui/text/text_utilities.h"
|
||||
#include "ui/emoji_config.h"
|
||||
#include "ui/text/format_values.h"
|
||||
#include "ui/text/text_entity.h"
|
||||
#include "ui/toast/toast.h"
|
||||
#include "ui/emoji_config.h"
|
||||
|
||||
#include <functional>
|
||||
#include <latch>
|
||||
#include <QTimer>
|
||||
#include <QtCore/QJsonDocument>
|
||||
#include <QtCore/QJsonObject>
|
||||
|
||||
namespace {
|
||||
|
||||
|
||||
@@ -6,10 +6,9 @@
|
||||
// Copyright @Radolyn, 2026
|
||||
#pragma once
|
||||
|
||||
#include "rc_manager.h"
|
||||
#include "api/api_common.h"
|
||||
#include "ayu/data/entities.h"
|
||||
|
||||
#include "ayu/utils/rc_manager.h"
|
||||
#include "core/application.h"
|
||||
#include "data/data_media_types.h"
|
||||
#include "dialogs/dialogs_main_list.h"
|
||||
|
||||
@@ -6,13 +6,14 @@
|
||||
// Copyright @Radolyn, 2026
|
||||
#ifdef Q_OS_WIN
|
||||
|
||||
#include "windows_utils.h"
|
||||
#include "ayu/utils/windows_utils.h"
|
||||
|
||||
#include "ayu/ui/ayu_logo.h"
|
||||
#include "base/platform/win/base_windows_winrt.h"
|
||||
#include "platform/win/windows_app_user_model_id.h"
|
||||
|
||||
#include <ShlObj_core.h>
|
||||
#include <propvarutil.h>
|
||||
#include <ShlObj_core.h>
|
||||
|
||||
void processIcon(QString shortcut, QString iconPath) {
|
||||
if (!QFile::exists(shortcut)) {
|
||||
@@ -46,7 +47,8 @@ void processIcon(QString shortcut, QString iconPath) {
|
||||
}
|
||||
}
|
||||
|
||||
void processLegacy(const QString &appdata, const QString &iconPath) {
|
||||
void processLegacy(const QString &iconPath) {
|
||||
const auto appdata = QDir::fromNativeSeparators(qgetenv("APPDATA"));
|
||||
auto shortcut = appdata + "/Microsoft/Internet Explorer/Quick Launch/User Pinned/TaskBar/AyuGram Desktop.lnk";
|
||||
if (!QFile::exists(shortcut)) {
|
||||
shortcut = appdata + "/Microsoft/Internet Explorer/Quick Launch/User Pinned/TaskBar/AyuGram.lnk";
|
||||
@@ -152,12 +154,11 @@ void processNewShortcuts(const QString &iconPath) {
|
||||
}
|
||||
|
||||
void reloadAppIconFromTaskBar() {
|
||||
QString appdata = QDir::fromNativeSeparators(qgetenv("APPDATA"));
|
||||
QString iconPath = appdata + "/AyuGram.ico";
|
||||
const auto iconPath = AyuAssets::appIcoPath();
|
||||
|
||||
processNewPinned(iconPath);
|
||||
processNewShortcuts(iconPath);
|
||||
processLegacy(appdata, iconPath);
|
||||
processLegacy(iconPath);
|
||||
|
||||
SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_IDLIST, NULL, NULL);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user