mirror of
https://github.com/AyuGram/AyuGramDesktop.git
synced 2025-04-18 07:07:08 +02:00
Move session settings to main_session_settings.
This commit is contained in:
parent
3a5ede534e
commit
4d6cc58f0d
85 changed files with 294 additions and 200 deletions
Telegram
CMakeLists.txt
SourceFiles
apiwrap.cpp
boxes
add_contact_box.cppauto_download_box.cppauto_lock_box.cppcreate_poll_box.cppdictionaries_manager.cppdownload_path_box.cppedit_caption_box.cpp
filters
peers
rate_call_box.cppreport_box.cppsend_files_box.cppshare_box.cppcalls
chat_helpers
emoji_list_widget.cppemoji_suggestions_widget.cppgifs_list_widget.cppmessage_field.cppspellchecker_common.cppstickers_emoji_pack.cppstickers_list_widget.cpptabbed_selector.cpptabbed_selector.h
core
data
data_document.cppdata_document_media.cppdata_drafts.cppdata_folder.cppdata_media_types.cppdata_photo_media.cppdata_session.cppdata_user.cpp
stickers
dialogs
history
intro
main
main_account.cppmain_account.hmain_session.cppmain_session.hmain_session_settings.cppmain_session_settings.h
mainwidget.cppmainwindow.cppmedia
player
view
overview
settings
settings_advanced.cppsettings_chat.cppsettings_codes.cppsettings_information.cppsettings_notifications.cppsettings_privacy_controllers.cpp
storage
support
window
|
@ -674,8 +674,8 @@ PRIVATE
|
|||
main/main_app_config.h
|
||||
main/main_session.cpp
|
||||
main/main_session.h
|
||||
main/main_settings.cpp
|
||||
main/main_settings.h
|
||||
main/main_session_settings.cpp
|
||||
main/main_session_settings.h
|
||||
media/audio/media_audio.cpp
|
||||
media/audio/media_audio.h
|
||||
media/audio/media_audio_capture.cpp
|
||||
|
|
|
@ -49,6 +49,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
|||
#include "history/history_item_components.h"
|
||||
//#include "history/feed/history_feed_section.h" // #feed
|
||||
#include "main/main_session.h"
|
||||
#include "main/main_session_settings.h"
|
||||
#include "main/main_account.h"
|
||||
#include "boxes/confirm_box.h"
|
||||
#include "boxes/stickers_box.h"
|
||||
|
@ -1984,7 +1985,7 @@ void ApiWrap::saveStickerSets(
|
|||
|
||||
auto &storage = local();
|
||||
if (writeInstalled) storage.writeInstalledStickers();
|
||||
if (writeRecent) storage.writeSettings();
|
||||
if (writeRecent) session().saveSettings();
|
||||
if (writeArchived) storage.writeArchivedStickers();
|
||||
if (writeCloudRecent) storage.writeRecentStickers();
|
||||
if (writeFaved) storage.writeFavedStickers();
|
||||
|
|
|
@ -40,6 +40,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
|||
#include "mainwindow.h"
|
||||
#include "apiwrap.h"
|
||||
#include "main/main_session.h"
|
||||
#include "main/main_session_settings.h"
|
||||
#include "facades.h"
|
||||
#include "styles/style_layers.h"
|
||||
#include "styles/style_boxes.h"
|
||||
|
|
|
@ -9,6 +9,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
|||
|
||||
#include "lang/lang_keys.h"
|
||||
#include "main/main_session.h"
|
||||
#include "main/main_session_settings.h"
|
||||
#include "data/data_session.h"
|
||||
#include "data/data_auto_download.h"
|
||||
#include "ui/widgets/continuous_sliders.h"
|
||||
|
|
|
@ -11,6 +11,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
|||
#include "storage/localstorage.h"
|
||||
#include "core/application.h"
|
||||
#include "mainwindow.h"
|
||||
#include "main/main_session.h"
|
||||
#include "ui/widgets/checkbox.h"
|
||||
#include "facades.h"
|
||||
#include "styles/style_layers.h"
|
||||
|
|
|
@ -20,6 +20,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
|||
#include "ui/widgets/checkbox.h"
|
||||
#include "ui/toast/toast.h"
|
||||
#include "main/main_session.h"
|
||||
#include "main/main_session_settings.h"
|
||||
#include "chat_helpers/emoji_suggestions_widget.h"
|
||||
#include "chat_helpers/message_field.h"
|
||||
#include "history/view/history_view_schedule_box.h"
|
||||
|
|
|
@ -14,6 +14,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
|||
#include "core/application.h"
|
||||
#include "main/main_account.h"
|
||||
#include "main/main_session.h"
|
||||
#include "main/main_session_settings.h"
|
||||
#include "mainwidget.h"
|
||||
#include "mtproto/dedicated_file_loader.h"
|
||||
#include "spellcheck/spellcheck_utils.h"
|
||||
|
|
|
@ -124,7 +124,7 @@ void DownloadPathBox::save() {
|
|||
};
|
||||
Global::SetDownloadPath(computePath());
|
||||
Global::SetDownloadPathBookmark((value == Directory::Custom) ? _pathBookmark : QByteArray());
|
||||
_controller->session().local().writeSettings();
|
||||
_controller->session().saveSettings();
|
||||
Global::RefDownloadPathChanged().notify();
|
||||
closeBox();
|
||||
#endif // OS_WIN_STORE
|
||||
|
|
|
@ -10,6 +10,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
|||
#include "apiwrap.h"
|
||||
#include "api/api_text_entities.h"
|
||||
#include "main/main_session.h"
|
||||
#include "main/main_session_settings.h"
|
||||
#include "chat_helpers/emoji_suggestions_widget.h"
|
||||
#include "chat_helpers/message_field.h"
|
||||
#include "chat_helpers/tabbed_panel.h"
|
||||
|
|
|
@ -24,6 +24,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
|||
#include "lang/lang_keys.h"
|
||||
#include "history/history.h"
|
||||
#include "main/main_session.h"
|
||||
#include "main/main_session_settings.h"
|
||||
#include "window/window_session_controller.h"
|
||||
#include "window/window_controller.h"
|
||||
#include "apiwrap.h"
|
||||
|
|
|
@ -9,6 +9,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
|||
|
||||
#include "apiwrap.h"
|
||||
#include "main/main_session.h"
|
||||
#include "main/main_session_settings.h"
|
||||
#include "boxes/add_contact_box.h"
|
||||
#include "boxes/confirm_box.h"
|
||||
#include "boxes/peer_list_controllers.h"
|
||||
|
|
|
@ -14,6 +14,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
|||
#include "ui/widgets/input_fields.h"
|
||||
#include "mainwindow.h"
|
||||
#include "main/main_session.h"
|
||||
#include "main/main_session_settings.h"
|
||||
#include "apiwrap.h"
|
||||
#include "styles/style_layers.h"
|
||||
#include "styles/style_calls.h"
|
||||
|
|
|
@ -10,6 +10,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
|||
#include "lang/lang_keys.h"
|
||||
#include "data/data_peer.h"
|
||||
#include "main/main_session.h"
|
||||
#include "main/main_session_settings.h"
|
||||
#include "boxes/confirm_box.h"
|
||||
#include "ui/widgets/checkbox.h"
|
||||
#include "ui/widgets/buttons.h"
|
||||
|
|
|
@ -12,6 +12,8 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
|||
#include "storage/localstorage.h"
|
||||
#include "storage/storage_media_prepare.h"
|
||||
#include "mainwidget.h"
|
||||
#include "main/main_session.h"
|
||||
#include "main/main_session_settings.h"
|
||||
#include "mtproto/mtproto_config.h"
|
||||
#include "chat_helpers/message_field.h"
|
||||
#include "chat_helpers/emoji_suggestions_widget.h"
|
||||
|
|
|
@ -36,6 +36,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
|||
#include "data/data_folder.h"
|
||||
#include "data/data_changes.h"
|
||||
#include "main/main_session.h"
|
||||
#include "main/main_session_settings.h"
|
||||
#include "core/application.h"
|
||||
#include "styles/style_layers.h"
|
||||
#include "styles/style_boxes.h"
|
||||
|
|
|
@ -8,6 +8,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
|||
#include "calls/calls_call.h"
|
||||
|
||||
#include "main/main_session.h"
|
||||
#include "main/main_session_settings.h"
|
||||
#include "apiwrap.h"
|
||||
#include "lang/lang_keys.h"
|
||||
#include "boxes/confirm_box.h"
|
||||
|
|
|
@ -10,6 +10,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
|||
#include "mtproto/mtproto_dh_utils.h"
|
||||
#include "core/application.h"
|
||||
#include "main/main_session.h"
|
||||
#include "main/main_session_settings.h"
|
||||
#include "apiwrap.h"
|
||||
#include "lang/lang_keys.h"
|
||||
#include "boxes/confirm_box.h"
|
||||
|
|
|
@ -15,6 +15,8 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
|||
#include "lang/lang_keys.h"
|
||||
#include "emoji_suggestions_data.h"
|
||||
#include "emoji_suggestions_helper.h"
|
||||
#include "main/main_session.h"
|
||||
#include "main/main_session_settings.h"
|
||||
#include "window/window_session_controller.h"
|
||||
#include "facades.h"
|
||||
#include "app.h"
|
||||
|
|
|
@ -19,6 +19,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
|||
#include "core/application.h"
|
||||
#include "base/event_filter.h"
|
||||
#include "main/main_session.h"
|
||||
#include "main/main_session_settings.h"
|
||||
#include "app.h"
|
||||
#include "styles/style_chat_helpers.h"
|
||||
|
||||
|
|
|
@ -25,6 +25,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
|||
#include "storage/localstorage.h"
|
||||
#include "lang/lang_keys.h"
|
||||
#include "mainwindow.h"
|
||||
#include "main/main_session.h"
|
||||
#include "window/window_session_controller.h"
|
||||
#include "history/view/history_view_cursor_state.h"
|
||||
#include "facades.h"
|
||||
|
|
|
@ -25,6 +25,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
|||
#include "lang/lang_keys.h"
|
||||
#include "mainwindow.h"
|
||||
#include "main/main_session.h"
|
||||
#include "main/main_session_settings.h"
|
||||
#include "styles/style_layers.h"
|
||||
#include "styles/style_boxes.h"
|
||||
#include "styles/style_history.h"
|
||||
|
|
|
@ -15,6 +15,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
|||
#include "lang/lang_instance.h"
|
||||
#include "lang/lang_keys.h"
|
||||
#include "main/main_session.h"
|
||||
#include "main/main_session_settings.h"
|
||||
#include "mainwidget.h"
|
||||
#include "spellcheck/platform/platform_spellcheck.h"
|
||||
#include "spellcheck/spellcheck_utils.h"
|
||||
|
|
|
@ -13,6 +13,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
|||
#include "ui/text/text_isolated_emoji.h"
|
||||
#include "ui/image/image.h"
|
||||
#include "main/main_session.h"
|
||||
#include "main/main_session_settings.h"
|
||||
#include "data/data_file_origin.h"
|
||||
#include "data/data_session.h"
|
||||
#include "data/data_document.h"
|
||||
|
|
|
@ -33,6 +33,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
|||
#include "boxes/confirm_box.h"
|
||||
#include "window/window_session_controller.h" // GifPauseReason.
|
||||
#include "main/main_session.h"
|
||||
#include "main/main_session_settings.h"
|
||||
#include "apiwrap.h"
|
||||
#include "app.h"
|
||||
#include "styles/style_chat_helpers.h"
|
||||
|
@ -2135,7 +2136,7 @@ void StickersListWidget::removeRecentSticker(int section, int index) {
|
|||
for (int32 i = 0, l = recent.size(); i < l; ++i) {
|
||||
if (recent.at(i).first == document) {
|
||||
recent.removeAt(i);
|
||||
session().local().writeSettings();
|
||||
session().saveSettings();
|
||||
refresh = true;
|
||||
break;
|
||||
}
|
||||
|
@ -2581,7 +2582,7 @@ void StickersListWidget::refreshMegagroupStickers(GroupStickersPlace place) {
|
|||
auto removeHiddenForGroup = [this, &hidden] {
|
||||
if (hidden) {
|
||||
session().settings().removeGroupStickersSectionHidden(_megagroupSet->id);
|
||||
session().local().writeSettings();
|
||||
session().saveSettings();
|
||||
hidden = false;
|
||||
}
|
||||
};
|
||||
|
@ -2992,7 +2993,7 @@ void StickersListWidget::sendInstallRequest(
|
|||
void StickersListWidget::removeMegagroupSet(bool locally) {
|
||||
if (locally) {
|
||||
session().settings().setGroupStickersSectionHidden(_megagroupSet->id);
|
||||
session().local().writeSettings();
|
||||
session().saveSettings();
|
||||
refreshStickers();
|
||||
return;
|
||||
}
|
||||
|
@ -3053,7 +3054,7 @@ void StickersListWidget::removeSet(uint64 setId) {
|
|||
if (removeIndex >= 0) session().data().stickers().setsOrderRef().removeAt(removeIndex);
|
||||
refreshStickers();
|
||||
session().local().writeInstalledStickers();
|
||||
if (writeRecent) session().local().writeSettings();
|
||||
if (writeRecent) session().saveSettings();
|
||||
}
|
||||
_removingSetId = 0;
|
||||
_checkForHide.fire({});
|
||||
|
|
|
@ -17,6 +17,8 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
|||
#include "ui/widgets/scroll_area.h"
|
||||
#include "ui/image/image_prepare.h"
|
||||
#include "window/window_session_controller.h"
|
||||
#include "main/main_session.h"
|
||||
#include "main/main_session_settings.h"
|
||||
#include "storage/localstorage.h"
|
||||
#include "data/data_channel.h"
|
||||
#include "data/data_session.h"
|
||||
|
|
|
@ -11,19 +11,22 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
|||
#include "ui/effects/animations.h"
|
||||
#include "ui/effects/panel_animation.h"
|
||||
#include "mtproto/sender.h"
|
||||
#include "main/main_session.h"
|
||||
#include "base/object_ptr.h"
|
||||
|
||||
namespace InlineBots {
|
||||
class Result;
|
||||
} // namespace InlineBots
|
||||
|
||||
namespace Main {
|
||||
class Session;
|
||||
} // namespace Main
|
||||
|
||||
namespace Ui {
|
||||
class PlainShadow;
|
||||
class ScrollArea;
|
||||
class SettingsSlider;
|
||||
class FlatLabel;
|
||||
} // namesapce Ui
|
||||
} // namespace Ui
|
||||
|
||||
namespace Window {
|
||||
class SessionController;
|
||||
|
|
|
@ -12,6 +12,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
|||
#include "core/application.h"
|
||||
#include "base/unixtime.h"
|
||||
#include "ui/delayed_activation.h"
|
||||
#include "main/main_session.h"
|
||||
#include "mainwindow.h"
|
||||
|
||||
#include <QtWidgets/QFileDialog>
|
||||
|
|
|
@ -34,6 +34,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
|||
#include "mainwindow.h"
|
||||
#include "mainwidget.h"
|
||||
#include "main/main_session.h"
|
||||
#include "main/main_session_settings.h"
|
||||
#include "apiwrap.h"
|
||||
#include "app.h"
|
||||
|
||||
|
|
|
@ -14,6 +14,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
|||
#include "lang/lang_keys.h"
|
||||
#include "inline_bots/inline_bot_layout_item.h"
|
||||
#include "main/main_session.h"
|
||||
#include "main/main_session_settings.h"
|
||||
#include "mainwidget.h"
|
||||
#include "core/file_utilities.h"
|
||||
#include "core/mime_type.h"
|
||||
|
|
|
@ -14,6 +14,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
|||
#include "data/data_auto_download.h"
|
||||
#include "media/clip/media_clip_reader.h"
|
||||
#include "main/main_session.h"
|
||||
#include "main/main_session_settings.h"
|
||||
#include "lottie/lottie_animation.h"
|
||||
#include "history/history_item.h"
|
||||
#include "history/history.h"
|
||||
|
|
|
@ -12,6 +12,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
|||
#include "chat_helpers/message_field.h"
|
||||
#include "history/history.h"
|
||||
#include "history/history_widget.h"
|
||||
#include "main/main_session.h"
|
||||
#include "data/data_session.h"
|
||||
#include "mainwidget.h"
|
||||
#include "storage/localstorage.h"
|
||||
|
|
|
@ -20,6 +20,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
|||
#include "main/main_account.h"
|
||||
//#include "storage/storage_feed_messages.h" // #feed
|
||||
#include "main/main_session.h"
|
||||
#include "main/main_session_settings.h"
|
||||
#include "mtproto/mtproto_config.h"
|
||||
#include "apiwrap.h"
|
||||
#include "mainwidget.h"
|
||||
|
|
|
@ -37,6 +37,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
|||
#include "data/data_poll.h"
|
||||
#include "data/data_channel.h"
|
||||
#include "data/data_file_origin.h"
|
||||
#include "main/main_session.h"
|
||||
#include "lang/lang_keys.h"
|
||||
#include "layout.h"
|
||||
#include "storage/file_upload.h"
|
||||
|
|
|
@ -12,6 +12,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
|||
#include "data/data_file_origin.h"
|
||||
#include "data/data_auto_download.h"
|
||||
#include "main/main_session.h"
|
||||
#include "main/main_session_settings.h"
|
||||
#include "history/history_item.h"
|
||||
#include "history/history.h"
|
||||
#include "storage/file_download.h"
|
||||
|
|
|
@ -8,6 +8,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
|||
#include "data/data_session.h"
|
||||
|
||||
#include "main/main_session.h"
|
||||
#include "main/main_session_settings.h"
|
||||
#include "apiwrap.h"
|
||||
#include "mainwidget.h"
|
||||
#include "api/api_text_entities.h"
|
||||
|
|
|
@ -8,6 +8,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
|||
#include "data/data_user.h"
|
||||
|
||||
#include "storage/localstorage.h"
|
||||
#include "main/main_session.h"
|
||||
#include "data/data_session.h"
|
||||
#include "data/data_changes.h"
|
||||
#include "ui/text_options.h"
|
||||
|
|
|
@ -19,6 +19,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
|||
#include "apiwrap.h"
|
||||
#include "storage/storage_account.h"
|
||||
#include "main/main_session.h"
|
||||
#include "main/main_session_settings.h"
|
||||
#include "mtproto/mtproto_config.h"
|
||||
#include "ui/toast/toast.h"
|
||||
#include "ui/image/image_location_factory.h"
|
||||
|
@ -150,7 +151,7 @@ void Stickers::incrementSticker(not_null<DocumentData*> document) {
|
|||
}
|
||||
|
||||
if (writeOldRecent) {
|
||||
session().local().writeSettings();
|
||||
session().saveSettings();
|
||||
}
|
||||
|
||||
// Remove that sticker from custom stickers, now it is in cloud recent stickers.
|
||||
|
@ -607,7 +608,7 @@ void Stickers::setsReceived(const QVector<MTPStickerSet> &data, int32 hash) {
|
|||
}
|
||||
|
||||
session().local().writeInstalledStickers();
|
||||
if (writeRecent) session().local().writeSettings();
|
||||
if (writeRecent) session().saveSettings();
|
||||
|
||||
const auto counted = Api::CountStickersHash(&session());
|
||||
if (counted != hash) {
|
||||
|
@ -730,7 +731,7 @@ void Stickers::specialSetReceived(
|
|||
}
|
||||
|
||||
if (writeRecent) {
|
||||
session().local().writeSettings();
|
||||
session().saveSettings();
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1251,7 +1252,7 @@ StickersSet *Stickers::feedSetFull(const MTPmessages_StickerSet &data) {
|
|||
}
|
||||
|
||||
if (writeRecent) {
|
||||
session().local().writeSettings();
|
||||
session().saveSettings();
|
||||
}
|
||||
|
||||
if (set) {
|
||||
|
|
|
@ -15,6 +15,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
|||
#include "data/data_chat_filters.h"
|
||||
#include "mainwidget.h"
|
||||
#include "main/main_session.h"
|
||||
#include "main/main_session_settings.h"
|
||||
#include "history/history_item.h"
|
||||
#include "history/history.h"
|
||||
#include "app.h"
|
||||
|
|
|
@ -40,6 +40,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
|||
#include "apiwrap.h"
|
||||
#include "window/themes/window_theme.h"
|
||||
#include "main/main_session.h"
|
||||
#include "main/main_session_settings.h"
|
||||
#include "window/notifications_manager.h"
|
||||
#include "window/window_session_controller.h"
|
||||
#include "window/window_peer_menu.h"
|
||||
|
|
|
@ -19,6 +19,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
|||
#include "ui/unread_badge.h"
|
||||
#include "lang/lang_keys.h"
|
||||
#include "support/support_helper.h"
|
||||
#include "main/main_session.h"
|
||||
#include "history/history_item_components.h"
|
||||
#include "history/history_item.h"
|
||||
#include "history/history.h"
|
||||
|
|
|
@ -22,6 +22,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
|||
#include "mainwindow.h"
|
||||
#include "mainwidget.h"
|
||||
#include "main/main_session.h"
|
||||
#include "main/main_session_settings.h"
|
||||
#include "apiwrap.h"
|
||||
#include "base/event_filter.h"
|
||||
#include "core/application.h"
|
||||
|
|
|
@ -29,6 +29,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
|||
#include "layout.h"
|
||||
#include "window/window_session_controller.h"
|
||||
#include "main/main_session.h"
|
||||
#include "main/main_session_settings.h"
|
||||
#include "ui/widgets/popup_menu.h"
|
||||
#include "ui/image/image.h"
|
||||
#include "ui/text/text_utilities.h"
|
||||
|
|
|
@ -42,6 +42,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
|||
#include "mainwidget.h"
|
||||
#include "layout.h"
|
||||
#include "main/main_session.h"
|
||||
#include "main/main_session_settings.h"
|
||||
#include "core/application.h"
|
||||
#include "apiwrap.h"
|
||||
#include "lang/lang_keys.h"
|
||||
|
|
|
@ -27,6 +27,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
|||
#include "storage/storage_shared_media.h"
|
||||
//#include "storage/storage_feed_messages.h" // #feed
|
||||
#include "main/main_session.h"
|
||||
#include "main/main_session_settings.h"
|
||||
#include "apiwrap.h"
|
||||
#include "media/audio/media_audio.h"
|
||||
#include "core/application.h"
|
||||
|
|
|
@ -86,6 +86,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
|||
#include "ui/unread_badge.h"
|
||||
#include "ui/delayed_activation.h"
|
||||
#include "main/main_session.h"
|
||||
#include "main/main_session_settings.h"
|
||||
#include "window/themes/window_theme.h"
|
||||
#include "window/notifications_manager.h"
|
||||
#include "window/window_session_controller.h"
|
||||
|
@ -5689,7 +5690,7 @@ bool HistoryWidget::pinnedMsgVisibilityUpdated() {
|
|||
pinnedId = 0;
|
||||
} else if (hiddenId) {
|
||||
session().settings().setHiddenPinnedMessageId(_peer->id, 0);
|
||||
session().local().writeSettings();
|
||||
session().saveSettings();
|
||||
}
|
||||
}
|
||||
if (pinnedId) {
|
||||
|
@ -6020,7 +6021,7 @@ void HistoryWidget::hidePinnedMessage() {
|
|||
pinnedId));
|
||||
} else {
|
||||
session().settings().setHiddenPinnedMessageId(_peer->id, pinnedId);
|
||||
session().local().writeSettings();
|
||||
session().saveSettings();
|
||||
if (pinnedMsgVisibilityUpdated()) {
|
||||
updateControlsGeometry();
|
||||
update();
|
||||
|
|
|
@ -21,6 +21,8 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
|||
#include "chat_helpers/message_field.h"
|
||||
#include "chat_helpers/emoji_suggestions_widget.h"
|
||||
#include "window/window_session_controller.h"
|
||||
#include "main/main_session.h"
|
||||
#include "main/main_session_settings.h"
|
||||
#include "inline_bots/inline_results_widget.h"
|
||||
#include "facades.h"
|
||||
#include "styles/style_history.h"
|
||||
|
|
|
@ -41,6 +41,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
|||
#include "mainwidget.h"
|
||||
#include "mainwindow.h" // App::wnd()->sessionController
|
||||
#include "main/main_session.h"
|
||||
#include "main/main_session_settings.h"
|
||||
#include "apiwrap.h"
|
||||
#include "facades.h"
|
||||
|
||||
|
|
|
@ -17,6 +17,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
|||
#include "history/view/media/history_view_large_emoji.h"
|
||||
#include "history/history.h"
|
||||
#include "main/main_session.h"
|
||||
#include "main/main_session_settings.h"
|
||||
#include "chat_helpers/stickers_emoji_pack.h"
|
||||
#include "data/data_session.h"
|
||||
#include "data/data_groups.h"
|
||||
|
|
|
@ -18,6 +18,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
|||
#include "mainwidget.h"
|
||||
#include "mainwindow.h"
|
||||
#include "main/main_session.h"
|
||||
#include "main/main_session_settings.h"
|
||||
#include "mtproto/mtproto_config.h"
|
||||
#include "lang/lang_keys.h"
|
||||
#include "core/shortcuts.h"
|
||||
|
|
|
@ -11,6 +11,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
|||
#include "layout.h"
|
||||
#include "mainwindow.h"
|
||||
#include "main/main_session.h"
|
||||
#include "main/main_session_settings.h"
|
||||
#include "media/audio/media_audio.h"
|
||||
#include "media/clip/media_clip_reader.h"
|
||||
#include "media/player/media_player_instance.h"
|
||||
|
|
|
@ -18,6 +18,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
|||
#include "ui/image/image.h"
|
||||
#include "ui/emoji_config.h"
|
||||
#include "main/main_session.h"
|
||||
#include "main/main_session_settings.h"
|
||||
#include "main/main_account.h"
|
||||
#include "main/main_app_config.h"
|
||||
#include "mainwindow.h" // App::wnd()->sessionController.
|
||||
|
|
|
@ -13,6 +13,8 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
|||
#include "lang/lang_keys.h"
|
||||
#include "lang/lang_cloud_manager.h"
|
||||
#include "main/main_account.h"
|
||||
#include "main/main_session.h"
|
||||
#include "main/main_session_settings.h"
|
||||
#include "apiwrap.h"
|
||||
#include "mainwindow.h"
|
||||
#include "boxes/confirm_box.h"
|
||||
|
@ -43,7 +45,7 @@ void PrepareSupportMode(not_null<Main::Session*> session) {
|
|||
Global::SetSoundNotify(false);
|
||||
Global::SetFlashBounceNotify(false);
|
||||
session->settings().autoDownload() = Full::FullDisabled();
|
||||
session->local().writeSettings();
|
||||
session->saveSettings();
|
||||
}
|
||||
|
||||
} // namespace
|
||||
|
|
|
@ -28,6 +28,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
|||
#include "api/api_updates.h"
|
||||
#include "main/main_app_config.h"
|
||||
#include "main/main_session.h"
|
||||
#include "main/main_session_settings.h"
|
||||
#include "facades.h"
|
||||
|
||||
namespace Main {
|
||||
|
@ -124,14 +125,14 @@ UserId Account::willHaveUserId() const {
|
|||
}
|
||||
|
||||
void Account::createSession(const MTPUser &user) {
|
||||
createSession(user, QByteArray(), 0, Settings());
|
||||
createSession(user, QByteArray(), 0, std::make_unique<SessionSettings>());
|
||||
}
|
||||
|
||||
void Account::createSession(
|
||||
UserId id,
|
||||
QByteArray serialized,
|
||||
int streamVersion,
|
||||
Settings &&settings) {
|
||||
std::unique_ptr<SessionSettings> settings) {
|
||||
DEBUG_LOG(("sessionUserSerialized.size: %1").arg(serialized.size()));
|
||||
QDataStream peekStream(serialized);
|
||||
const auto phone = Serialize::peekUserPhone(streamVersion, peekStream);
|
||||
|
@ -162,7 +163,7 @@ void Account::createSession(
|
|||
const MTPUser &user,
|
||||
QByteArray serialized,
|
||||
int streamVersion,
|
||||
Settings &&settings) {
|
||||
std::unique_ptr<SessionSettings> settings) {
|
||||
Expects(_mtp != nullptr);
|
||||
Expects(_session == nullptr);
|
||||
Expects(_sessionValue.current() == nullptr);
|
||||
|
@ -177,7 +178,7 @@ void Account::createSession(
|
|||
}
|
||||
|
||||
void Account::destroySession() {
|
||||
_storedSettings.reset();
|
||||
_storedSessionSettings.reset();
|
||||
_sessionUserId = 0;
|
||||
_sessionUserSerialized = {};
|
||||
if (!sessionExists()) {
|
||||
|
@ -291,7 +292,7 @@ void Account::setSessionUserId(UserId userId) {
|
|||
}
|
||||
|
||||
void Account::setSessionFromStorage(
|
||||
std::unique_ptr<Settings> data,
|
||||
std::unique_ptr<SessionSettings> data,
|
||||
QByteArray &&selfSerialized,
|
||||
int32 selfStreamVersion) {
|
||||
Expects(!sessionExists());
|
||||
|
@ -299,14 +300,16 @@ void Account::setSessionFromStorage(
|
|||
DEBUG_LOG(("sessionUserSerialized set: %1"
|
||||
).arg(selfSerialized.size()));
|
||||
|
||||
_storedSettings = std::move(data);
|
||||
_storedSessionSettings = std::move(data);
|
||||
_sessionUserSerialized = std::move(selfSerialized);
|
||||
_sessionUserStreamVersion = selfStreamVersion;
|
||||
}
|
||||
|
||||
Settings *Account::getSessionSettings() {
|
||||
SessionSettings *Account::getSessionSettings() {
|
||||
if (_sessionUserId) {
|
||||
return _storedSettings ? _storedSettings.get() : nullptr;
|
||||
return _storedSessionSettings
|
||||
? _storedSessionSettings.get()
|
||||
: nullptr;
|
||||
} else if (sessionExists()) {
|
||||
return &session().settings();
|
||||
}
|
||||
|
@ -431,9 +434,11 @@ void Account::startMtp(std::unique_ptr<MTP::Config> config) {
|
|||
_sessionUserId,
|
||||
base::take(_sessionUserSerialized),
|
||||
base::take(_sessionUserStreamVersion),
|
||||
_storedSettings ? std::move(*_storedSettings) : Settings());
|
||||
(_storedSessionSettings
|
||||
? std::move(_storedSessionSettings)
|
||||
: std::make_unique<SessionSettings>()));
|
||||
}
|
||||
_storedSettings = nullptr;
|
||||
_storedSessionSettings = nullptr;
|
||||
|
||||
if (sessionExists()) {
|
||||
// Skip all pending self updates so that we won't local().writeSelf.
|
||||
|
|
|
@ -24,7 +24,7 @@ class Config;
|
|||
namespace Main {
|
||||
|
||||
class Session;
|
||||
class Settings;
|
||||
class SessionSettings;
|
||||
class AppConfig;
|
||||
|
||||
class Account final : public base::has_weak_ptr {
|
||||
|
@ -49,7 +49,7 @@ public:
|
|||
UserId id,
|
||||
QByteArray serialized,
|
||||
int streamVersion,
|
||||
Settings &&settings);
|
||||
std::unique_ptr<SessionSettings> settings);
|
||||
void destroySession();
|
||||
|
||||
void logOut();
|
||||
|
@ -81,10 +81,10 @@ public:
|
|||
void setLegacyMtpKey(std::shared_ptr<MTP::AuthKey> key);
|
||||
void setSessionUserId(UserId userId);
|
||||
void setSessionFromStorage(
|
||||
std::unique_ptr<Settings> data,
|
||||
std::unique_ptr<SessionSettings> data,
|
||||
QByteArray &&selfSerialized,
|
||||
int32 selfStreamVersion);
|
||||
[[nodiscard]] Settings *getSessionSettings();
|
||||
[[nodiscard]] SessionSettings *getSessionSettings();
|
||||
[[nodiscard]] rpl::producer<> mtpNewSessionCreated() const;
|
||||
[[nodiscard]] rpl::producer<MTPUpdates> mtpUpdates() const;
|
||||
|
||||
|
@ -105,7 +105,7 @@ private:
|
|||
const MTPUser &user,
|
||||
QByteArray serialized,
|
||||
int streamVersion,
|
||||
Settings &&settings);
|
||||
std::unique_ptr<SessionSettings> settings);
|
||||
void watchProxyChanges();
|
||||
void watchSessionChanges();
|
||||
bool checkForUpdates(const mtpPrime *from, const mtpPrime *end);
|
||||
|
@ -132,7 +132,7 @@ private:
|
|||
UserId _sessionUserId = 0;
|
||||
QByteArray _sessionUserSerialized;
|
||||
int32 _sessionUserStreamVersion = 0;
|
||||
std::unique_ptr<Settings> _storedSettings;
|
||||
std::unique_ptr<SessionSettings> _storedSessionSettings;
|
||||
MTP::Instance::Fields _mtpFields;
|
||||
MTP::AuthKeysList _mtpKeysToDestroy;
|
||||
bool _loggingOut = false;
|
||||
|
|
|
@ -11,6 +11,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
|||
#include "api/api_updates.h"
|
||||
#include "core/application.h"
|
||||
#include "main/main_account.h"
|
||||
#include "main/main_session_settings.h"
|
||||
#include "mtproto/mtproto_config.h"
|
||||
#include "chat_helpers/stickers_emoji_pack.h"
|
||||
#include "chat_helpers/stickers_dice_pack.h"
|
||||
|
@ -64,10 +65,9 @@ constexpr auto kLegacyCallsPeerToPeerNobody = 4;
|
|||
Session::Session(
|
||||
not_null<Main::Account*> account,
|
||||
const MTPUser &user,
|
||||
Settings &&settings)
|
||||
std::unique_ptr<SessionSettings> settings)
|
||||
: _account(account)
|
||||
, _settings(std::move(settings))
|
||||
, _saveSettingsTimer([=] { local().writeSettings(); })
|
||||
, _api(std::make_unique<ApiWrap>(this))
|
||||
, _updates(std::make_unique<Api::Updates>(this))
|
||||
, _calls(std::make_unique<Calls::Instance>(this))
|
||||
|
@ -80,7 +80,10 @@ Session::Session(
|
|||
, _user(_data->processUser(user))
|
||||
, _emojiStickersPack(std::make_unique<Stickers::EmojiPack>(this))
|
||||
, _diceStickersPacks(std::make_unique<Stickers::DicePacks>(this))
|
||||
, _supportHelper(Support::Helper::Create(this)) {
|
||||
, _supportHelper(Support::Helper::Create(this))
|
||||
, _saveSettingsTimer([=] { saveSettings(); }) {
|
||||
Expects(_settings != nullptr);
|
||||
|
||||
Core::App().lockChanges(
|
||||
) | rpl::start_with_next([=] {
|
||||
notifications().updateAll();
|
||||
|
@ -116,7 +119,7 @@ Session::Session(
|
|||
}
|
||||
}, _lifetime);
|
||||
|
||||
if (_settings.hadLegacyCallsPeerToPeerNobody()) {
|
||||
if (_settings->hadLegacyCallsPeerToPeerNobody()) {
|
||||
api().savePrivacy(
|
||||
MTP_inputPrivacyKeyPhoneP2P(),
|
||||
QVector<MTPInputPrivacyRule>(
|
||||
|
@ -227,10 +230,14 @@ Support::Templates& Session::supportTemplates() const {
|
|||
void Session::saveSettingsNowIfNeeded() {
|
||||
if (_saveSettingsTimer.isActive()) {
|
||||
_saveSettingsTimer.cancel();
|
||||
local().writeSettings();
|
||||
saveSettings();
|
||||
}
|
||||
}
|
||||
|
||||
void Session::saveSettings() {
|
||||
local().writeSessionSettings();
|
||||
}
|
||||
|
||||
void Session::addWindow(not_null<Window::SessionController*> controller) {
|
||||
_windows.emplace(controller);
|
||||
controller->lifetime().add([=] {
|
||||
|
|
|
@ -10,7 +10,6 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
|||
#include <rpl/event_stream.h>
|
||||
#include <rpl/filter.h>
|
||||
#include <rpl/variable.h>
|
||||
#include "main/main_settings.h"
|
||||
#include "base/timer.h"
|
||||
|
||||
class ApiWrap;
|
||||
|
@ -60,6 +59,7 @@ class DicePacks;
|
|||
namespace Main {
|
||||
|
||||
class Account;
|
||||
class SessionSettings;
|
||||
|
||||
class Session final
|
||||
: public base::has_weak_ptr
|
||||
|
@ -68,7 +68,7 @@ public:
|
|||
Session(
|
||||
not_null<Main::Account*> account,
|
||||
const MTPUser &user,
|
||||
Settings &&other);
|
||||
std::unique_ptr<SessionSettings> settings);
|
||||
~Session();
|
||||
|
||||
Session(const Session &other) = delete;
|
||||
|
@ -111,9 +111,10 @@ public:
|
|||
[[nodiscard]] Data::Session &data() {
|
||||
return *_data;
|
||||
}
|
||||
[[nodiscard]] Settings &settings() {
|
||||
return _settings;
|
||||
[[nodiscard]] SessionSettings &settings() {
|
||||
return *_settings;
|
||||
}
|
||||
void saveSettings();
|
||||
void saveSettingsDelayed(crl::time delay = kDefaultSaveDelay);
|
||||
void saveSettingsNowIfNeeded();
|
||||
|
||||
|
@ -156,9 +157,7 @@ private:
|
|||
|
||||
const not_null<Main::Account*> _account;
|
||||
|
||||
Settings _settings;
|
||||
base::Timer _saveSettingsTimer;
|
||||
|
||||
const std::unique_ptr<SessionSettings> _settings;
|
||||
const std::unique_ptr<ApiWrap> _api;
|
||||
const std::unique_ptr<Api::Updates> _updates;
|
||||
const std::unique_ptr<Calls::Instance> _calls;
|
||||
|
@ -179,6 +178,7 @@ private:
|
|||
const std::unique_ptr<Support::Helper> _supportHelper;
|
||||
|
||||
base::flat_set<not_null<Window::SessionController*>> _windows;
|
||||
base::Timer _saveSettingsTimer;
|
||||
|
||||
rpl::lifetime _lifetime;
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@ the official desktop application for the Telegram messaging service.
|
|||
For license and copyright information please follow this link:
|
||||
https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
||||
*/
|
||||
#include "main/main_settings.h"
|
||||
#include "main/main_session_settings.h"
|
||||
|
||||
#include "chat_helpers/tabbed_selector.h"
|
||||
#include "window/section_widget.h"
|
||||
|
@ -33,7 +33,7 @@ float64 DeserializePlaybackSpeed(qint32 speed) {
|
|||
|
||||
} // namespace
|
||||
|
||||
Settings::Variables::Variables()
|
||||
SessionSettings::Variables::Variables()
|
||||
: sendFilesWay(SendFilesWay::Album)
|
||||
, selectorTab(ChatHelpers::SelectorTab::Emoji)
|
||||
, floatPlayerColumn(Window::Column::Second)
|
||||
|
@ -45,11 +45,11 @@ Settings::Variables::Variables()
|
|||
, supportSwitch(Support::SwitchSettings::Next) {
|
||||
}
|
||||
|
||||
bool Settings::ThirdColumnByDefault() {
|
||||
bool SessionSettings::ThirdColumnByDefault() {
|
||||
return Platform::IsMacStoreBuild();
|
||||
}
|
||||
|
||||
QByteArray Settings::serialize() const {
|
||||
QByteArray SessionSettings::serialize() const {
|
||||
const auto autoDownload = _variables.autoDownload.serialize();
|
||||
auto size = sizeof(qint32) * 38;
|
||||
for (const auto &[key, value] : _variables.soundOverrides) {
|
||||
|
@ -131,11 +131,15 @@ QByteArray Settings::serialize() const {
|
|||
return result;
|
||||
}
|
||||
|
||||
void Settings::constructFromSerialized(const QByteArray &serialized) {
|
||||
std::unique_ptr<SessionSettings> SessionSettings::FromSerialized(
|
||||
const QByteArray &serialized) {
|
||||
if (serialized.isEmpty()) {
|
||||
return;
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
auto result = std::make_unique<SessionSettings>();
|
||||
const auto variables = &result->_variables;
|
||||
|
||||
QDataStream stream(serialized);
|
||||
stream.setVersion(QDataStream::Qt_5_1);
|
||||
qint32 versionTag = 0;
|
||||
|
@ -150,37 +154,37 @@ void Settings::constructFromSerialized(const QByteArray &serialized) {
|
|||
base::flat_set<PeerId> groupStickersSectionHidden;
|
||||
qint32 thirdSectionInfoEnabled = 0;
|
||||
qint32 smallDialogsList = 0;
|
||||
float64 dialogsWidthRatio = _variables.dialogsWidthRatio.current();
|
||||
int thirdColumnWidth = _variables.thirdColumnWidth.current();
|
||||
int thirdSectionExtendedBy = _variables.thirdSectionExtendedBy;
|
||||
qint32 sendFilesWay = static_cast<qint32>(_variables.sendFilesWay);
|
||||
float64 dialogsWidthRatio = variables->dialogsWidthRatio.current();
|
||||
int thirdColumnWidth = variables->thirdColumnWidth.current();
|
||||
int thirdSectionExtendedBy = variables->thirdSectionExtendedBy;
|
||||
qint32 sendFilesWay = static_cast<qint32>(variables->sendFilesWay);
|
||||
qint32 legacyCallsPeerToPeer = qint32(0);
|
||||
qint32 sendSubmitWay = static_cast<qint32>(_variables.sendSubmitWay);
|
||||
qint32 supportSwitch = static_cast<qint32>(_variables.supportSwitch);
|
||||
qint32 supportFixChatsOrder = _variables.supportFixChatsOrder ? 1 : 0;
|
||||
qint32 supportTemplatesAutocomplete = _variables.supportTemplatesAutocomplete ? 1 : 0;
|
||||
qint32 supportChatsTimeSlice = _variables.supportChatsTimeSlice.current();
|
||||
qint32 includeMutedCounter = _variables.includeMutedCounter ? 1 : 0;
|
||||
qint32 countUnreadMessages = _variables.countUnreadMessages ? 1 : 0;
|
||||
qint32 exeLaunchWarning = _variables.exeLaunchWarning ? 1 : 0;
|
||||
qint32 sendSubmitWay = static_cast<qint32>(variables->sendSubmitWay);
|
||||
qint32 supportSwitch = static_cast<qint32>(variables->supportSwitch);
|
||||
qint32 supportFixChatsOrder = variables->supportFixChatsOrder ? 1 : 0;
|
||||
qint32 supportTemplatesAutocomplete = variables->supportTemplatesAutocomplete ? 1 : 0;
|
||||
qint32 supportChatsTimeSlice = variables->supportChatsTimeSlice.current();
|
||||
qint32 includeMutedCounter = variables->includeMutedCounter ? 1 : 0;
|
||||
qint32 countUnreadMessages = variables->countUnreadMessages ? 1 : 0;
|
||||
qint32 exeLaunchWarning = variables->exeLaunchWarning ? 1 : 0;
|
||||
QByteArray autoDownload;
|
||||
qint32 supportAllSearchResults = _variables.supportAllSearchResults.current() ? 1 : 0;
|
||||
qint32 archiveCollapsed = _variables.archiveCollapsed.current() ? 1 : 0;
|
||||
qint32 notifyAboutPinned = _variables.notifyAboutPinned.current() ? 1 : 0;
|
||||
qint32 archiveInMainMenu = _variables.archiveInMainMenu.current() ? 1 : 0;
|
||||
qint32 skipArchiveInSearch = _variables.skipArchiveInSearch.current() ? 1 : 0;
|
||||
qint32 supportAllSearchResults = variables->supportAllSearchResults.current() ? 1 : 0;
|
||||
qint32 archiveCollapsed = variables->archiveCollapsed.current() ? 1 : 0;
|
||||
qint32 notifyAboutPinned = variables->notifyAboutPinned.current() ? 1 : 0;
|
||||
qint32 archiveInMainMenu = variables->archiveInMainMenu.current() ? 1 : 0;
|
||||
qint32 skipArchiveInSearch = variables->skipArchiveInSearch.current() ? 1 : 0;
|
||||
qint32 autoplayGifs = 1;
|
||||
qint32 loopAnimatedStickers = _variables.loopAnimatedStickers ? 1 : 0;
|
||||
qint32 largeEmoji = _variables.largeEmoji.current() ? 1 : 0;
|
||||
qint32 replaceEmoji = _variables.replaceEmoji.current() ? 1 : 0;
|
||||
qint32 suggestEmoji = _variables.suggestEmoji ? 1 : 0;
|
||||
qint32 suggestStickersByEmoji = _variables.suggestStickersByEmoji ? 1 : 0;
|
||||
qint32 spellcheckerEnabled = _variables.spellcheckerEnabled.current() ? 1 : 0;
|
||||
qint32 loopAnimatedStickers = variables->loopAnimatedStickers ? 1 : 0;
|
||||
qint32 largeEmoji = variables->largeEmoji.current() ? 1 : 0;
|
||||
qint32 replaceEmoji = variables->replaceEmoji.current() ? 1 : 0;
|
||||
qint32 suggestEmoji = variables->suggestEmoji ? 1 : 0;
|
||||
qint32 suggestStickersByEmoji = variables->suggestStickersByEmoji ? 1 : 0;
|
||||
qint32 spellcheckerEnabled = variables->spellcheckerEnabled.current() ? 1 : 0;
|
||||
std::vector<std::pair<DocumentId, crl::time>> mediaLastPlaybackPosition;
|
||||
qint32 videoPlaybackSpeed = SerializePlaybackSpeed(_variables.videoPlaybackSpeed.current());
|
||||
QByteArray videoPipGeometry = _variables.videoPipGeometry;
|
||||
qint32 videoPlaybackSpeed = SerializePlaybackSpeed(variables->videoPlaybackSpeed.current());
|
||||
QByteArray videoPipGeometry = variables->videoPipGeometry;
|
||||
std::vector<int> dictionariesEnabled;
|
||||
qint32 autoDownloadDictionaries = _variables.autoDownloadDictionaries.current() ? 1 : 0;
|
||||
qint32 autoDownloadDictionaries = variables->autoDownloadDictionaries.current() ? 1 : 0;
|
||||
base::flat_map<PeerId, MsgId> hiddenPinnedMessages;
|
||||
|
||||
stream >> versionTag;
|
||||
|
@ -336,18 +340,18 @@ void Settings::constructFromSerialized(const QByteArray &serialized) {
|
|||
}
|
||||
if (stream.status() != QDataStream::Ok) {
|
||||
LOG(("App Error: "
|
||||
"Bad data for Main::Settings::constructFromSerialized()"));
|
||||
return;
|
||||
"Bad data for Main::SessionSettings::FromSerialized()"));
|
||||
return nullptr;
|
||||
}
|
||||
if (!autoDownload.isEmpty()
|
||||
&& !_variables.autoDownload.setFromSerialized(autoDownload)) {
|
||||
return;
|
||||
&& !variables->autoDownload.setFromSerialized(autoDownload)) {
|
||||
return nullptr;
|
||||
}
|
||||
if (!version) {
|
||||
if (!autoplayGifs) {
|
||||
using namespace Data::AutoDownload;
|
||||
_variables.autoDownload = WithDisabledAutoPlay(
|
||||
_variables.autoDownload);
|
||||
variables->autoDownload = WithDisabledAutoPlay(
|
||||
variables->autoDownload);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -355,104 +359,105 @@ void Settings::constructFromSerialized(const QByteArray &serialized) {
|
|||
switch (uncheckedTab) {
|
||||
case ChatHelpers::SelectorTab::Emoji:
|
||||
case ChatHelpers::SelectorTab::Stickers:
|
||||
case ChatHelpers::SelectorTab::Gifs: _variables.selectorTab = uncheckedTab; break;
|
||||
case ChatHelpers::SelectorTab::Gifs: variables->selectorTab = uncheckedTab; break;
|
||||
}
|
||||
_variables.lastSeenWarningSeen = (lastSeenWarningSeen == 1);
|
||||
_variables.tabbedSelectorSectionEnabled = (tabbedSelectorSectionEnabled == 1);
|
||||
_variables.soundOverrides = std::move(soundOverrides);
|
||||
_variables.tabbedSelectorSectionTooltipShown = tabbedSelectorSectionTooltipShown;
|
||||
variables->lastSeenWarningSeen = (lastSeenWarningSeen == 1);
|
||||
variables->tabbedSelectorSectionEnabled = (tabbedSelectorSectionEnabled == 1);
|
||||
variables->soundOverrides = std::move(soundOverrides);
|
||||
variables->tabbedSelectorSectionTooltipShown = tabbedSelectorSectionTooltipShown;
|
||||
auto uncheckedColumn = static_cast<Window::Column>(floatPlayerColumn);
|
||||
switch (uncheckedColumn) {
|
||||
case Window::Column::First:
|
||||
case Window::Column::Second:
|
||||
case Window::Column::Third: _variables.floatPlayerColumn = uncheckedColumn; break;
|
||||
case Window::Column::Third: variables->floatPlayerColumn = uncheckedColumn; break;
|
||||
}
|
||||
auto uncheckedCorner = static_cast<RectPart>(floatPlayerCorner);
|
||||
switch (uncheckedCorner) {
|
||||
case RectPart::TopLeft:
|
||||
case RectPart::TopRight:
|
||||
case RectPart::BottomLeft:
|
||||
case RectPart::BottomRight: _variables.floatPlayerCorner = uncheckedCorner; break;
|
||||
case RectPart::BottomRight: variables->floatPlayerCorner = uncheckedCorner; break;
|
||||
}
|
||||
_variables.groupStickersSectionHidden = std::move(groupStickersSectionHidden);
|
||||
_variables.thirdSectionInfoEnabled = thirdSectionInfoEnabled;
|
||||
_variables.smallDialogsList = smallDialogsList;
|
||||
_variables.dialogsWidthRatio = dialogsWidthRatio;
|
||||
_variables.thirdColumnWidth = thirdColumnWidth;
|
||||
_variables.thirdSectionExtendedBy = thirdSectionExtendedBy;
|
||||
if (_variables.thirdSectionInfoEnabled) {
|
||||
_variables.tabbedSelectorSectionEnabled = false;
|
||||
variables->groupStickersSectionHidden = std::move(groupStickersSectionHidden);
|
||||
variables->thirdSectionInfoEnabled = thirdSectionInfoEnabled;
|
||||
variables->smallDialogsList = smallDialogsList;
|
||||
variables->dialogsWidthRatio = dialogsWidthRatio;
|
||||
variables->thirdColumnWidth = thirdColumnWidth;
|
||||
variables->thirdSectionExtendedBy = thirdSectionExtendedBy;
|
||||
if (variables->thirdSectionInfoEnabled) {
|
||||
variables->tabbedSelectorSectionEnabled = false;
|
||||
}
|
||||
auto uncheckedSendFilesWay = static_cast<SendFilesWay>(sendFilesWay);
|
||||
switch (uncheckedSendFilesWay) {
|
||||
case SendFilesWay::Album:
|
||||
case SendFilesWay::Photos:
|
||||
case SendFilesWay::Files: _variables.sendFilesWay = uncheckedSendFilesWay; break;
|
||||
case SendFilesWay::Files: variables->sendFilesWay = uncheckedSendFilesWay; break;
|
||||
}
|
||||
auto uncheckedSendSubmitWay = static_cast<Ui::InputSubmitSettings>(
|
||||
sendSubmitWay);
|
||||
switch (uncheckedSendSubmitWay) {
|
||||
case Ui::InputSubmitSettings::Enter:
|
||||
case Ui::InputSubmitSettings::CtrlEnter: _variables.sendSubmitWay = uncheckedSendSubmitWay; break;
|
||||
case Ui::InputSubmitSettings::CtrlEnter: variables->sendSubmitWay = uncheckedSendSubmitWay; break;
|
||||
}
|
||||
auto uncheckedSupportSwitch = static_cast<Support::SwitchSettings>(
|
||||
supportSwitch);
|
||||
switch (uncheckedSupportSwitch) {
|
||||
case Support::SwitchSettings::None:
|
||||
case Support::SwitchSettings::Next:
|
||||
case Support::SwitchSettings::Previous: _variables.supportSwitch = uncheckedSupportSwitch; break;
|
||||
case Support::SwitchSettings::Previous: variables->supportSwitch = uncheckedSupportSwitch; break;
|
||||
}
|
||||
_variables.supportFixChatsOrder = (supportFixChatsOrder == 1);
|
||||
_variables.supportTemplatesAutocomplete = (supportTemplatesAutocomplete == 1);
|
||||
_variables.supportChatsTimeSlice = supportChatsTimeSlice;
|
||||
_variables.hadLegacyCallsPeerToPeerNobody = (legacyCallsPeerToPeer == kLegacyCallsPeerToPeerNobody);
|
||||
_variables.includeMutedCounter = (includeMutedCounter == 1);
|
||||
_variables.countUnreadMessages = (countUnreadMessages == 1);
|
||||
_variables.exeLaunchWarning = (exeLaunchWarning == 1);
|
||||
_variables.supportAllSearchResults = (supportAllSearchResults == 1);
|
||||
_variables.archiveCollapsed = (archiveCollapsed == 1);
|
||||
_variables.notifyAboutPinned = (notifyAboutPinned == 1);
|
||||
_variables.archiveInMainMenu = (archiveInMainMenu == 1);
|
||||
_variables.skipArchiveInSearch = (skipArchiveInSearch == 1);
|
||||
_variables.loopAnimatedStickers = (loopAnimatedStickers == 1);
|
||||
_variables.largeEmoji = (largeEmoji == 1);
|
||||
_variables.replaceEmoji = (replaceEmoji == 1);
|
||||
_variables.suggestEmoji = (suggestEmoji == 1);
|
||||
_variables.suggestStickersByEmoji = (suggestStickersByEmoji == 1);
|
||||
_variables.spellcheckerEnabled = (spellcheckerEnabled == 1);
|
||||
_variables.mediaLastPlaybackPosition = std::move(mediaLastPlaybackPosition);
|
||||
_variables.videoPlaybackSpeed = DeserializePlaybackSpeed(videoPlaybackSpeed);
|
||||
_variables.videoPipGeometry = videoPipGeometry;
|
||||
_variables.dictionariesEnabled = std::move(dictionariesEnabled);
|
||||
_variables.autoDownloadDictionaries = (autoDownloadDictionaries == 1);
|
||||
_variables.hiddenPinnedMessages = std::move(hiddenPinnedMessages);
|
||||
variables->supportFixChatsOrder = (supportFixChatsOrder == 1);
|
||||
variables->supportTemplatesAutocomplete = (supportTemplatesAutocomplete == 1);
|
||||
variables->supportChatsTimeSlice = supportChatsTimeSlice;
|
||||
variables->hadLegacyCallsPeerToPeerNobody = (legacyCallsPeerToPeer == kLegacyCallsPeerToPeerNobody);
|
||||
variables->includeMutedCounter = (includeMutedCounter == 1);
|
||||
variables->countUnreadMessages = (countUnreadMessages == 1);
|
||||
variables->exeLaunchWarning = (exeLaunchWarning == 1);
|
||||
variables->supportAllSearchResults = (supportAllSearchResults == 1);
|
||||
variables->archiveCollapsed = (archiveCollapsed == 1);
|
||||
variables->notifyAboutPinned = (notifyAboutPinned == 1);
|
||||
variables->archiveInMainMenu = (archiveInMainMenu == 1);
|
||||
variables->skipArchiveInSearch = (skipArchiveInSearch == 1);
|
||||
variables->loopAnimatedStickers = (loopAnimatedStickers == 1);
|
||||
variables->largeEmoji = (largeEmoji == 1);
|
||||
variables->replaceEmoji = (replaceEmoji == 1);
|
||||
variables->suggestEmoji = (suggestEmoji == 1);
|
||||
variables->suggestStickersByEmoji = (suggestStickersByEmoji == 1);
|
||||
variables->spellcheckerEnabled = (spellcheckerEnabled == 1);
|
||||
variables->mediaLastPlaybackPosition = std::move(mediaLastPlaybackPosition);
|
||||
variables->videoPlaybackSpeed = DeserializePlaybackSpeed(videoPlaybackSpeed);
|
||||
variables->videoPipGeometry = videoPipGeometry;
|
||||
variables->dictionariesEnabled = std::move(dictionariesEnabled);
|
||||
variables->autoDownloadDictionaries = (autoDownloadDictionaries == 1);
|
||||
variables->hiddenPinnedMessages = std::move(hiddenPinnedMessages);
|
||||
return result;
|
||||
}
|
||||
|
||||
void Settings::setSupportChatsTimeSlice(int slice) {
|
||||
void SessionSettings::setSupportChatsTimeSlice(int slice) {
|
||||
_variables.supportChatsTimeSlice = slice;
|
||||
}
|
||||
|
||||
int Settings::supportChatsTimeSlice() const {
|
||||
int SessionSettings::supportChatsTimeSlice() const {
|
||||
return _variables.supportChatsTimeSlice.current();
|
||||
}
|
||||
|
||||
rpl::producer<int> Settings::supportChatsTimeSliceValue() const {
|
||||
rpl::producer<int> SessionSettings::supportChatsTimeSliceValue() const {
|
||||
return _variables.supportChatsTimeSlice.value();
|
||||
}
|
||||
|
||||
void Settings::setSupportAllSearchResults(bool all) {
|
||||
void SessionSettings::setSupportAllSearchResults(bool all) {
|
||||
_variables.supportAllSearchResults = all;
|
||||
}
|
||||
|
||||
bool Settings::supportAllSearchResults() const {
|
||||
bool SessionSettings::supportAllSearchResults() const {
|
||||
return _variables.supportAllSearchResults.current();
|
||||
}
|
||||
|
||||
rpl::producer<bool> Settings::supportAllSearchResultsValue() const {
|
||||
rpl::producer<bool> SessionSettings::supportAllSearchResultsValue() const {
|
||||
return _variables.supportAllSearchResults.value();
|
||||
}
|
||||
|
||||
void Settings::setTabbedSelectorSectionEnabled(bool enabled) {
|
||||
void SessionSettings::setTabbedSelectorSectionEnabled(bool enabled) {
|
||||
_variables.tabbedSelectorSectionEnabled = enabled;
|
||||
if (enabled) {
|
||||
setThirdSectionInfoEnabled(false);
|
||||
|
@ -460,12 +465,12 @@ void Settings::setTabbedSelectorSectionEnabled(bool enabled) {
|
|||
setTabbedReplacedWithInfo(false);
|
||||
}
|
||||
|
||||
rpl::producer<bool> Settings::tabbedReplacedWithInfoValue() const {
|
||||
rpl::producer<bool> SessionSettings::tabbedReplacedWithInfoValue() const {
|
||||
return _tabbedReplacedWithInfoValue.events_starting_with(
|
||||
tabbedReplacedWithInfo());
|
||||
}
|
||||
|
||||
void Settings::setThirdSectionInfoEnabled(bool enabled) {
|
||||
void SessionSettings::setThirdSectionInfoEnabled(bool enabled) {
|
||||
if (_variables.thirdSectionInfoEnabled != enabled) {
|
||||
_variables.thirdSectionInfoEnabled = enabled;
|
||||
if (enabled) {
|
||||
|
@ -476,19 +481,19 @@ void Settings::setThirdSectionInfoEnabled(bool enabled) {
|
|||
}
|
||||
}
|
||||
|
||||
rpl::producer<bool> Settings::thirdSectionInfoEnabledValue() const {
|
||||
rpl::producer<bool> SessionSettings::thirdSectionInfoEnabledValue() const {
|
||||
return _thirdSectionInfoEnabledValue.events_starting_with(
|
||||
thirdSectionInfoEnabled());
|
||||
}
|
||||
|
||||
void Settings::setTabbedReplacedWithInfo(bool enabled) {
|
||||
void SessionSettings::setTabbedReplacedWithInfo(bool enabled) {
|
||||
if (_tabbedReplacedWithInfo != enabled) {
|
||||
_tabbedReplacedWithInfo = enabled;
|
||||
_tabbedReplacedWithInfoValue.fire_copy(enabled);
|
||||
}
|
||||
}
|
||||
|
||||
QString Settings::getSoundPath(const QString &key) const {
|
||||
QString SessionSettings::getSoundPath(const QString &key) const {
|
||||
auto it = _variables.soundOverrides.find(key);
|
||||
if (it != _variables.soundOverrides.end()) {
|
||||
return it->second;
|
||||
|
@ -496,31 +501,31 @@ QString Settings::getSoundPath(const QString &key) const {
|
|||
return qsl(":/sounds/") + key + qsl(".mp3");
|
||||
}
|
||||
|
||||
void Settings::setDialogsWidthRatio(float64 ratio) {
|
||||
void SessionSettings::setDialogsWidthRatio(float64 ratio) {
|
||||
_variables.dialogsWidthRatio = ratio;
|
||||
}
|
||||
|
||||
float64 Settings::dialogsWidthRatio() const {
|
||||
float64 SessionSettings::dialogsWidthRatio() const {
|
||||
return _variables.dialogsWidthRatio.current();
|
||||
}
|
||||
|
||||
rpl::producer<float64> Settings::dialogsWidthRatioChanges() const {
|
||||
rpl::producer<float64> SessionSettings::dialogsWidthRatioChanges() const {
|
||||
return _variables.dialogsWidthRatio.changes();
|
||||
}
|
||||
|
||||
void Settings::setThirdColumnWidth(int width) {
|
||||
void SessionSettings::setThirdColumnWidth(int width) {
|
||||
_variables.thirdColumnWidth = width;
|
||||
}
|
||||
|
||||
int Settings::thirdColumnWidth() const {
|
||||
int SessionSettings::thirdColumnWidth() const {
|
||||
return _variables.thirdColumnWidth.current();
|
||||
}
|
||||
|
||||
rpl::producer<int> Settings::thirdColumnWidthChanges() const {
|
||||
rpl::producer<int> SessionSettings::thirdColumnWidthChanges() const {
|
||||
return _variables.thirdColumnWidth.changes();
|
||||
}
|
||||
|
||||
void Settings::setMediaLastPlaybackPosition(DocumentId id, crl::time time) {
|
||||
void SessionSettings::setMediaLastPlaybackPosition(DocumentId id, crl::time time) {
|
||||
auto &map = _variables.mediaLastPlaybackPosition;
|
||||
const auto i = ranges::find(
|
||||
map,
|
||||
|
@ -540,7 +545,7 @@ void Settings::setMediaLastPlaybackPosition(DocumentId id, crl::time time) {
|
|||
}
|
||||
}
|
||||
|
||||
crl::time Settings::mediaLastPlaybackPosition(DocumentId id) const {
|
||||
crl::time SessionSettings::mediaLastPlaybackPosition(DocumentId id) const {
|
||||
const auto i = ranges::find(
|
||||
_variables.mediaLastPlaybackPosition,
|
||||
id,
|
||||
|
@ -548,83 +553,83 @@ crl::time Settings::mediaLastPlaybackPosition(DocumentId id) const {
|
|||
return (i != _variables.mediaLastPlaybackPosition.end()) ? i->second : 0;
|
||||
}
|
||||
|
||||
void Settings::setArchiveCollapsed(bool collapsed) {
|
||||
void SessionSettings::setArchiveCollapsed(bool collapsed) {
|
||||
_variables.archiveCollapsed = collapsed;
|
||||
}
|
||||
|
||||
bool Settings::archiveCollapsed() const {
|
||||
bool SessionSettings::archiveCollapsed() const {
|
||||
return _variables.archiveCollapsed.current();
|
||||
}
|
||||
|
||||
rpl::producer<bool> Settings::archiveCollapsedChanges() const {
|
||||
rpl::producer<bool> SessionSettings::archiveCollapsedChanges() const {
|
||||
return _variables.archiveCollapsed.changes();
|
||||
}
|
||||
|
||||
void Settings::setArchiveInMainMenu(bool inMainMenu) {
|
||||
void SessionSettings::setArchiveInMainMenu(bool inMainMenu) {
|
||||
_variables.archiveInMainMenu = inMainMenu;
|
||||
}
|
||||
|
||||
bool Settings::archiveInMainMenu() const {
|
||||
bool SessionSettings::archiveInMainMenu() const {
|
||||
return _variables.archiveInMainMenu.current();
|
||||
}
|
||||
|
||||
rpl::producer<bool> Settings::archiveInMainMenuChanges() const {
|
||||
rpl::producer<bool> SessionSettings::archiveInMainMenuChanges() const {
|
||||
return _variables.archiveInMainMenu.changes();
|
||||
}
|
||||
|
||||
void Settings::setNotifyAboutPinned(bool notify) {
|
||||
void SessionSettings::setNotifyAboutPinned(bool notify) {
|
||||
_variables.notifyAboutPinned = notify;
|
||||
}
|
||||
|
||||
bool Settings::notifyAboutPinned() const {
|
||||
bool SessionSettings::notifyAboutPinned() const {
|
||||
return _variables.notifyAboutPinned.current();
|
||||
}
|
||||
|
||||
rpl::producer<bool> Settings::notifyAboutPinnedChanges() const {
|
||||
rpl::producer<bool> SessionSettings::notifyAboutPinnedChanges() const {
|
||||
return _variables.notifyAboutPinned.changes();
|
||||
}
|
||||
|
||||
void Settings::setSkipArchiveInSearch(bool skip) {
|
||||
void SessionSettings::setSkipArchiveInSearch(bool skip) {
|
||||
_variables.skipArchiveInSearch = skip;
|
||||
}
|
||||
|
||||
bool Settings::skipArchiveInSearch() const {
|
||||
bool SessionSettings::skipArchiveInSearch() const {
|
||||
return _variables.skipArchiveInSearch.current();
|
||||
}
|
||||
|
||||
rpl::producer<bool> Settings::skipArchiveInSearchChanges() const {
|
||||
rpl::producer<bool> SessionSettings::skipArchiveInSearchChanges() const {
|
||||
return _variables.skipArchiveInSearch.changes();
|
||||
}
|
||||
|
||||
void Settings::setLargeEmoji(bool value) {
|
||||
void SessionSettings::setLargeEmoji(bool value) {
|
||||
_variables.largeEmoji = value;
|
||||
}
|
||||
|
||||
bool Settings::largeEmoji() const {
|
||||
bool SessionSettings::largeEmoji() const {
|
||||
return _variables.largeEmoji.current();
|
||||
}
|
||||
|
||||
rpl::producer<bool> Settings::largeEmojiValue() const {
|
||||
rpl::producer<bool> SessionSettings::largeEmojiValue() const {
|
||||
return _variables.largeEmoji.value();
|
||||
}
|
||||
|
||||
rpl::producer<bool> Settings::largeEmojiChanges() const {
|
||||
rpl::producer<bool> SessionSettings::largeEmojiChanges() const {
|
||||
return _variables.largeEmoji.changes();
|
||||
}
|
||||
|
||||
void Settings::setReplaceEmoji(bool value) {
|
||||
void SessionSettings::setReplaceEmoji(bool value) {
|
||||
_variables.replaceEmoji = value;
|
||||
}
|
||||
|
||||
bool Settings::replaceEmoji() const {
|
||||
bool SessionSettings::replaceEmoji() const {
|
||||
return _variables.replaceEmoji.current();
|
||||
}
|
||||
|
||||
rpl::producer<bool> Settings::replaceEmojiValue() const {
|
||||
rpl::producer<bool> SessionSettings::replaceEmojiValue() const {
|
||||
return _variables.replaceEmoji.value();
|
||||
}
|
||||
|
||||
rpl::producer<bool> Settings::replaceEmojiChanges() const {
|
||||
rpl::producer<bool> SessionSettings::replaceEmojiChanges() const {
|
||||
return _variables.replaceEmoji.changes();
|
||||
}
|
||||
|
|
@ -30,10 +30,11 @@ enum class SelectorTab;
|
|||
|
||||
namespace Main {
|
||||
|
||||
class Settings final {
|
||||
class SessionSettings final {
|
||||
public:
|
||||
[[nodiscard]] QByteArray serialize() const;
|
||||
void constructFromSerialized(const QByteArray &serialized);
|
||||
[[nodiscard]] static std::unique_ptr<SessionSettings> FromSerialized(
|
||||
const QByteArray &serialized);
|
||||
|
||||
void setLastSeenWarningSeen(bool lastSeenWarningSeen) {
|
||||
_variables.lastSeenWarningSeen = lastSeenWarningSeen;
|
|
@ -98,6 +98,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
|||
#include "export/view/export_view_top_bar.h"
|
||||
#include "export/view/export_view_panel_controller.h"
|
||||
#include "main/main_session.h"
|
||||
#include "main/main_session_settings.h"
|
||||
#include "main/main_account.h"
|
||||
#include "support/support_helper.h"
|
||||
#include "storage/storage_facade.h"
|
||||
|
@ -2282,7 +2283,7 @@ void MainWidget::ensureFirstColumnResizeAreaCreated() {
|
|||
session().settings().setDialogsWidthRatio(
|
||||
float64(_dialogsWidth) / width());
|
||||
}
|
||||
session().local().writeSettings();
|
||||
session().saveSettings();
|
||||
};
|
||||
createResizeArea(
|
||||
_firstColumnResizeArea,
|
||||
|
@ -2306,7 +2307,7 @@ void MainWidget::ensureThirdColumnResizeAreaCreated() {
|
|||
session().settings().thirdColumnWidth(),
|
||||
st::columnMinimalWidthThird,
|
||||
st::columnMaximalWidthThird));
|
||||
session().local().writeSettings();
|
||||
session().saveSettings();
|
||||
};
|
||||
createResizeArea(
|
||||
_thirdColumnResizeArea,
|
||||
|
|
|
@ -810,7 +810,7 @@ void MainWindow::toggleDisplayNotifyFromTray() {
|
|||
Global::SetRestoreFlashBounceNotifyFromTray(false);
|
||||
}
|
||||
}
|
||||
account().local().writeSettings();
|
||||
account().session().saveSettings();
|
||||
using Change = Window::Notifications::ChangeType;
|
||||
auto &changes = account().session().notifications().settingsChanged();
|
||||
changes.notify(Change::DesktopEnabled);
|
||||
|
|
|
@ -21,6 +21,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
|||
#include "window/window_session_controller.h"
|
||||
#include "window/section_widget.h"
|
||||
#include "main/main_session.h"
|
||||
#include "main/main_session_settings.h"
|
||||
#include "facades.h"
|
||||
#include "app.h"
|
||||
#include "styles/style_media_player.h"
|
||||
|
|
|
@ -26,6 +26,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
|||
#include "main/main_accounts.h" // Accounts::activeSessionValue.
|
||||
#include "mainwindow.h"
|
||||
#include "main/main_session.h"
|
||||
#include "main/main_session_settings.h"
|
||||
#include "facades.h"
|
||||
|
||||
namespace Media {
|
||||
|
|
|
@ -143,7 +143,7 @@ Widget::Widget(QWidget *parent, not_null<Main::Session*> session)
|
|||
Global::SetVoiceMsgPlaybackDoubled(doubled);
|
||||
instance()->updateVoicePlaybackSpeed();
|
||||
updatePlaybackSpeedIcon();
|
||||
_session->local().writeSettings();
|
||||
_session->saveSettings();
|
||||
});
|
||||
|
||||
subscribe(instance()->repeatChangedNotifier(), [this](AudioMsgId::Type type) {
|
||||
|
|
|
@ -51,6 +51,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
|||
#include "main/main_account.h"
|
||||
#include "main/main_accounts.h" // Accounts::activeSessionValue.
|
||||
#include "main/main_session.h"
|
||||
#include "main/main_session_settings.h"
|
||||
#include "layout.h"
|
||||
#include "storage/file_download.h"
|
||||
#include "calls/calls_instance.h"
|
||||
|
|
|
@ -25,6 +25,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
|||
#include "mainwidget.h"
|
||||
#include "storage/file_upload.h"
|
||||
#include "mainwindow.h"
|
||||
#include "main/main_session.h"
|
||||
#include "media/audio/media_audio.h"
|
||||
#include "media/player/media_player_instance.h"
|
||||
#include "storage/localstorage.h"
|
||||
|
|
|
@ -28,6 +28,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
|||
#include "data/data_session.h"
|
||||
#include "main/main_account.h"
|
||||
#include "main/main_session.h"
|
||||
#include "main/main_session_settings.h"
|
||||
#include "mtproto/facade.h"
|
||||
#include "layout.h"
|
||||
#include "facades.h"
|
||||
|
|
|
@ -46,6 +46,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
|||
#include "support/support_common.h"
|
||||
#include "support/support_templates.h"
|
||||
#include "main/main_session.h"
|
||||
#include "main/main_session_settings.h"
|
||||
#include "mainwidget.h"
|
||||
#include "mainwindow.h"
|
||||
#include "facades.h"
|
||||
|
|
|
@ -13,6 +13,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
|||
#include "mainwindow.h"
|
||||
#include "data/data_session.h"
|
||||
#include "main/main_session.h"
|
||||
#include "main/main_session_settings.h"
|
||||
#include "main/main_account.h"
|
||||
#include "main/main_accounts.h"
|
||||
#include "boxes/confirm_box.h"
|
||||
|
|
|
@ -26,6 +26,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
|||
#include "info/profile/info_profile_values.h"
|
||||
#include "lang/lang_keys.h"
|
||||
#include "main/main_session.h"
|
||||
#include "main/main_session_settings.h"
|
||||
#include "window/window_session_controller.h"
|
||||
#include "apiwrap.h"
|
||||
#include "core/file_utilities.h"
|
||||
|
|
|
@ -22,6 +22,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
|||
#include "mainwindow.h"
|
||||
#include "core/application.h"
|
||||
#include "main/main_session.h"
|
||||
#include "main/main_session_settings.h"
|
||||
#include "apiwrap.h"
|
||||
#include "facades.h"
|
||||
#include "app.h"
|
||||
|
@ -593,7 +594,6 @@ void SetupNotificationsContent(
|
|||
tr::lng_settings_count_unread(tr::now),
|
||||
session->settings().countUnreadMessages());
|
||||
|
||||
|
||||
AddSkip(container, st::settingsCheckboxesSkip);
|
||||
AddDivider(container);
|
||||
AddSkip(container, st::settingsCheckboxesSkip);
|
||||
|
|
|
@ -12,6 +12,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
|||
#include "apiwrap.h"
|
||||
#include "mainwidget.h"
|
||||
#include "main/main_session.h"
|
||||
#include "main/main_session_settings.h"
|
||||
#include "data/data_user.h"
|
||||
#include "data/data_session.h"
|
||||
#include "data/data_changes.h"
|
||||
|
|
|
@ -391,7 +391,8 @@ bool ReadSetting(
|
|||
stream >> v;
|
||||
if (!CheckStreamStatus(stream)) return false;
|
||||
|
||||
context.sessionSettings().constructFromSerialized(v);
|
||||
context.sessionSettingsStorage
|
||||
= Main::SessionSettings::FromSerialized(v);
|
||||
} break;
|
||||
|
||||
case dbiWorkMode: {
|
||||
|
|
|
@ -8,7 +8,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
|||
#pragma once
|
||||
|
||||
#include "mtproto/mtproto_dc_options.h"
|
||||
#include "main/main_settings.h"
|
||||
#include "main/main_session_settings.h"
|
||||
#include "storage/storage_account.h"
|
||||
|
||||
namespace MTP {
|
||||
|
@ -19,9 +19,10 @@ namespace Storage {
|
|||
namespace details {
|
||||
|
||||
struct ReadSettingsContext {
|
||||
[[nodiscard]] Main::Settings &sessionSettings() {
|
||||
[[nodiscard]] Main::SessionSettings &sessionSettings() {
|
||||
if (!sessionSettingsStorage) {
|
||||
sessionSettingsStorage = std::make_unique<Main::Settings>();
|
||||
sessionSettingsStorage
|
||||
= std::make_unique<Main::SessionSettings>();
|
||||
}
|
||||
return *sessionSettingsStorage;
|
||||
}
|
||||
|
@ -45,7 +46,7 @@ struct ReadSettingsContext {
|
|||
qint64 cacheBigFileTotalSizeLimit = 0;
|
||||
qint32 cacheBigFileTotalTimeLimit = 0;
|
||||
|
||||
std::unique_ptr<Main::Settings> sessionSettingsStorage;
|
||||
std::unique_ptr<Main::SessionSettings> sessionSettingsStorage;
|
||||
|
||||
FileKey themeKeyLegacy = 0;
|
||||
FileKey themeKeyDay = 0;
|
||||
|
|
|
@ -9,7 +9,6 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
|||
|
||||
#include "storage/file_download.h"
|
||||
#include "storage/localimageloader.h"
|
||||
#include "main/main_session.h"
|
||||
|
||||
#include <QtCore/QTimer>
|
||||
|
||||
|
|
|
@ -394,7 +394,7 @@ Account::ReadMapResult Account::readMapWith(
|
|||
readLocations();
|
||||
}
|
||||
|
||||
auto stored = readSettings();
|
||||
auto stored = readSessionSettings();
|
||||
readMtpData();
|
||||
|
||||
DEBUG_LOG(("selfSerialized set: %1").arg(selfSerialized.size()));
|
||||
|
@ -745,11 +745,11 @@ void Account::deserializeCallSettings(QByteArray &settings) {
|
|||
}
|
||||
}
|
||||
|
||||
void Account::writeSettings() {
|
||||
writeSettings(nullptr);
|
||||
void Account::writeSessionSettings() {
|
||||
writeSessionSettings(nullptr);
|
||||
}
|
||||
|
||||
void Account::writeSettings(Main::Settings *stored) {
|
||||
void Account::writeSessionSettings(Main::SessionSettings *stored) {
|
||||
if (_readingUserSettings) {
|
||||
LOG(("App Error: attempt to write settings while reading them!"));
|
||||
return;
|
||||
|
@ -846,7 +846,7 @@ ReadSettingsContext Account::prepareReadSettingsContext() const {
|
|||
};
|
||||
}
|
||||
|
||||
std::unique_ptr<Main::Settings> Account::readSettings() {
|
||||
std::unique_ptr<Main::SessionSettings> Account::readSessionSettings() {
|
||||
ReadSettingsContext context;
|
||||
FileReadDescriptor userSettings;
|
||||
if (!ReadEncryptedFile(userSettings, _settingsKey, _basePath, _localKey)) {
|
||||
|
@ -855,7 +855,7 @@ std::unique_ptr<Main::Settings> Account::readSettings() {
|
|||
Local::readOldUserSettings(true, context);
|
||||
auto result = applyReadContext(std::move(context));
|
||||
|
||||
writeSettings(result.get());
|
||||
writeSessionSettings(result.get());
|
||||
|
||||
return result;
|
||||
}
|
||||
|
@ -867,13 +867,13 @@ std::unique_ptr<Main::Settings> Account::readSettings() {
|
|||
userSettings.stream >> blockId;
|
||||
if (!CheckStreamStatus(userSettings.stream)) {
|
||||
_readingUserSettings = false;
|
||||
writeSettings();
|
||||
writeSessionSettings();
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
if (!ReadSetting(blockId, userSettings.stream, userSettings.version, context)) {
|
||||
_readingUserSettings = false;
|
||||
writeSettings();
|
||||
writeSessionSettings();
|
||||
return nullptr;
|
||||
}
|
||||
}
|
||||
|
@ -883,7 +883,7 @@ std::unique_ptr<Main::Settings> Account::readSettings() {
|
|||
return applyReadContext(std::move(context));
|
||||
}
|
||||
|
||||
std::unique_ptr<Main::Settings> Account::applyReadContext(
|
||||
std::unique_ptr<Main::SessionSettings> Account::applyReadContext(
|
||||
ReadSettingsContext &&context) {
|
||||
ApplyReadFallbackConfig(context);
|
||||
|
||||
|
@ -1326,7 +1326,7 @@ void Account::updateCacheSettings(
|
|||
_cacheTotalTimeLimit = update.totalTimeLimit;
|
||||
_cacheBigFileTotalSizeLimit = updateBig.totalSizeLimit;
|
||||
_cacheBigFileTotalTimeLimit = updateBig.totalTimeLimit;
|
||||
writeSettings();
|
||||
writeSessionSettings();
|
||||
}
|
||||
|
||||
QString Account::cacheBigFilePath() const {
|
||||
|
@ -1894,7 +1894,7 @@ void Account::importOldRecentStickers() {
|
|||
}
|
||||
|
||||
writeInstalledStickers();
|
||||
writeSettings();
|
||||
writeSessionSettings();
|
||||
|
||||
ClearKey(_recentStickersKeyOld, _basePath);
|
||||
_recentStickersKeyOld = 0;
|
||||
|
|
|
@ -20,7 +20,7 @@ struct Settings;
|
|||
|
||||
namespace Main {
|
||||
class Account;
|
||||
class Settings;
|
||||
class SessionSettings;
|
||||
} // namespace Main
|
||||
|
||||
namespace Data {
|
||||
|
@ -67,7 +67,7 @@ public:
|
|||
return _localKey;
|
||||
}
|
||||
|
||||
void writeSettings();
|
||||
void writeSessionSettings();
|
||||
void writeMtpData();
|
||||
void writeMtpConfig();
|
||||
|
||||
|
@ -172,12 +172,12 @@ private:
|
|||
void writeLocationsQueued();
|
||||
void writeLocationsDelayed();
|
||||
|
||||
std::unique_ptr<Main::Settings> readSettings();
|
||||
void writeSettings(Main::Settings *stored);
|
||||
std::unique_ptr<Main::SessionSettings> readSessionSettings();
|
||||
void writeSessionSettings(Main::SessionSettings *stored);
|
||||
|
||||
std::unique_ptr<MTP::Config> readMtpConfig();
|
||||
void readMtpData();
|
||||
std::unique_ptr<Main::Settings> applyReadContext(
|
||||
std::unique_ptr<Main::SessionSettings> applyReadContext(
|
||||
details::ReadSettingsContext &&context);
|
||||
|
||||
[[nodiscard]] QByteArray serializeCallSettings();
|
||||
|
|
|
@ -21,6 +21,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
|||
#include "base/unixtime.h"
|
||||
#include "base/call_delayed.h"
|
||||
#include "main/main_session.h"
|
||||
#include "main/main_session_settings.h"
|
||||
#include "apiwrap.h"
|
||||
#include "styles/style_chat_helpers.h"
|
||||
#include "styles/style_window.h"
|
||||
|
|
|
@ -28,6 +28,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
|||
#include "storage/localimageloader.h"
|
||||
#include "core/sandbox.h"
|
||||
#include "main/main_session.h"
|
||||
#include "main/main_session_settings.h"
|
||||
#include "apiwrap.h"
|
||||
#include "facades.h"
|
||||
#include "styles/style_layers.h"
|
||||
|
|
|
@ -24,6 +24,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
|||
#include "lang/lang_keys.h"
|
||||
#include "data/data_session.h"
|
||||
#include "main/main_session.h"
|
||||
#include "main/main_session_settings.h"
|
||||
#include "base/crc32hash.h"
|
||||
#include "base/call_delayed.h"
|
||||
#include "ui/toast/toast.h"
|
||||
|
@ -413,10 +414,10 @@ void MainWindow::initSize() {
|
|||
? primaryScreen->availableGeometry()
|
||||
: QRect(0, 0, st::windowDefaultWidth, st::windowDefaultHeight);
|
||||
bool maximized = false;
|
||||
const auto initialWidth = Main::Settings::ThirdColumnByDefault()
|
||||
const auto initialWidth = Main::SessionSettings::ThirdColumnByDefault()
|
||||
? st::windowBigDefaultWidth
|
||||
: st::windowDefaultWidth;
|
||||
const auto initialHeight = Main::Settings::ThirdColumnByDefault()
|
||||
const auto initialHeight = Main::SessionSettings::ThirdColumnByDefault()
|
||||
? st::windowBigDefaultHeight
|
||||
: st::windowDefaultHeight;
|
||||
auto geometry = QRect(
|
||||
|
|
|
@ -25,6 +25,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
|||
#include "api/api_updates.h"
|
||||
#include "apiwrap.h"
|
||||
#include "main/main_session.h"
|
||||
#include "main/main_session_settings.h"
|
||||
#include "main/main_accounts.h"
|
||||
#include "facades.h"
|
||||
#include "app.h"
|
||||
|
|
|
@ -21,6 +21,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
|||
#include "window/themes/window_theme.h"
|
||||
#include "storage/file_download.h"
|
||||
#include "main/main_session.h"
|
||||
#include "main/main_session_settings.h"
|
||||
#include "history/history.h"
|
||||
#include "history/history_item.h"
|
||||
#include "platform/platform_specific.h"
|
||||
|
|
|
@ -875,7 +875,7 @@ void ChatBackground::setTile(bool tile) {
|
|||
if (this->tile() != old) {
|
||||
if (!Data::details::IsTestingThemeWallPaper(_paper)
|
||||
&& !Data::details::IsTestingDefaultWallPaper(_paper)) {
|
||||
local().writeSettings();
|
||||
local().writeSessionSettings();
|
||||
}
|
||||
notify(BackgroundUpdate(BackgroundUpdate::Type::Changed, tile));
|
||||
}
|
||||
|
@ -1030,7 +1030,7 @@ bool ChatBackground::isNonDefaultBackground() {
|
|||
|
||||
void ChatBackground::writeNewBackgroundSettings() {
|
||||
if (tile() != _tileForRevert) {
|
||||
local().writeSettings();
|
||||
local().writeSessionSettings();
|
||||
}
|
||||
local().writeBackground(
|
||||
_paper,
|
||||
|
@ -1117,7 +1117,7 @@ void ChatBackground::reapplyWithNightMode(
|
|||
ClearApplying();
|
||||
keepApplied(saved.object, settingExactTheme);
|
||||
if (tile() != _tileForRevert) {
|
||||
local().writeSettings();
|
||||
local().writeSessionSettings();
|
||||
}
|
||||
if (nightModeChanged) {
|
||||
Local::writeSettings();
|
||||
|
|
|
@ -28,6 +28,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
|||
#include "lang/lang_keys.h"
|
||||
#include "core/click_handler_types.h"
|
||||
#include "main/main_session.h"
|
||||
#include "main/main_session_settings.h"
|
||||
#include "mtproto/mtproto_config.h"
|
||||
#include "data/data_folder.h"
|
||||
#include "data/data_session.h"
|
||||
|
@ -289,7 +290,7 @@ void MainMenu::refreshMenu() {
|
|||
(*fix)->setChecked(!(*fix)->isChecked());
|
||||
_controller->session().settings().setSupportFixChatsOrder(
|
||||
(*fix)->isChecked());
|
||||
_controller->session().local().writeSettings();
|
||||
_controller->session().saveSettings();
|
||||
}, &st::mainMenuFixOrder, &st::mainMenuFixOrderOver);
|
||||
(*fix)->setCheckable(true);
|
||||
(*fix)->setChecked(
|
||||
|
|
|
@ -21,6 +21,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
|||
#include "ui/widgets/checkbox.h"
|
||||
#include "ui/layers/generic_box.h"
|
||||
#include "main/main_session.h"
|
||||
#include "main/main_session_settings.h"
|
||||
#include "apiwrap.h"
|
||||
#include "mainwidget.h"
|
||||
#include "mainwindow.h"
|
||||
|
|
|
@ -31,6 +31,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
|||
#include "mainwidget.h"
|
||||
#include "mainwindow.h"
|
||||
#include "main/main_session.h"
|
||||
#include "main/main_session_settings.h"
|
||||
#include "apiwrap.h"
|
||||
#include "support/support_helper.h"
|
||||
#include "facades.h"
|
||||
|
|
Loading…
Add table
Reference in a new issue