diff --git a/Telegram/Resources/langs/rewrites/en.json b/Telegram/Resources/langs/rewrites/en.json index 520c4532f..54dd7483f 100644 --- a/Telegram/Resources/langs/rewrites/en.json +++ b/Telegram/Resources/langs/rewrites/en.json @@ -28,6 +28,8 @@ "ktg_mac_menu_show": "Show Kotatogram", "ktg_settings_kotato": "Kotatogram Settings", "ktg_user_status_unaccessible": "account inaccessible", + "ktg_settings_show_json_settings": "Show settings file", + "ktg_settings_restart": "Restart Kotatogram", "ktg_settings_chats": "Chats", "ktg_settings_sticker_height": "Sticker height: {pixels}px", "ktg_settings_sticker_scale_both": "Apply to sticker width", diff --git a/Telegram/SourceFiles/kotato/kotato_settings_menu.cpp b/Telegram/SourceFiles/kotato/kotato_settings_menu.cpp index e3293ba38..e7fedc003 100644 --- a/Telegram/SourceFiles/kotato/kotato_settings_menu.cpp +++ b/Telegram/SourceFiles/kotato/kotato_settings_menu.cpp @@ -33,6 +33,7 @@ https://github.com/kotatogram/kotatogram-desktop/blob/dev/LEGAL #include "lang/lang_keys.h" #include "core/update_checker.h" #include "core/application.h" +#include "core/file_utilities.h" #include "storage/localstorage.h" #include "data/data_session.h" #include "data/data_cloud_themes.h" @@ -43,6 +44,7 @@ https://github.com/kotatogram/kotatogram-desktop/blob/dev/LEGAL #include "styles/style_settings.h" #include "ui/platform/ui_platform_utility.h" #include "ui/vertical_list.h" +#include "styles/style_menu_icons.h" namespace Settings { @@ -590,6 +592,19 @@ void SetupKotatoOther( Ui::AddSkip(container); } +void KotatoTopBarOptions(const Ui::Menu::MenuCallback &addAction) { + const auto customSettingsFile = cWorkingDir() + "tdata/kotato-settings-custom.json"; + + addAction( + ktr("ktg_settings_show_json_settings"), + [=] { File::ShowInFolder(customSettingsFile); }, + &st::menuIconSettings); + addAction( + ktr("ktg_settings_restart"), + [] { Core::Restart(); }, + &st::menuIconRestore); +} + Kotato::Kotato( QWidget *parent, not_null controller) @@ -603,7 +618,7 @@ rpl::producer Kotato::title() { } void Kotato::fillTopBarMenu(const Ui::Menu::MenuCallback &addAction) { - const auto window = &_controller->window(); + KotatoTopBarOptions(addAction); } void Kotato::setupContent(not_null controller) { diff --git a/Telegram/SourceFiles/kotato/kotato_settings_menu.h b/Telegram/SourceFiles/kotato/kotato_settings_menu.h index 1e4978aae..bab8928e7 100644 --- a/Telegram/SourceFiles/kotato/kotato_settings_menu.h +++ b/Telegram/SourceFiles/kotato/kotato_settings_menu.h @@ -23,6 +23,8 @@ void SetupKotatoSystem( not_null container); void SetupKotatoOther(not_null container); +void KotatoTopBarOptions(const Ui::Menu::MenuCallback &addAction); + class Kotato : public Section { public: Kotato( diff --git a/Telegram/SourceFiles/settings/settings_main.cpp b/Telegram/SourceFiles/settings/settings_main.cpp index 3e7e4fe44..c962519c3 100644 --- a/Telegram/SourceFiles/settings/settings_main.cpp +++ b/Telegram/SourceFiles/settings/settings_main.cpp @@ -697,6 +697,7 @@ void Main::fillTopBarMenu(const Ui::Menu::MenuCallback &addAction) { [=] { showOther(Information::Id()); }, &st::menuIconInfo); } + KotatoTopBarOptions(addAction); const auto window = &_controller->window(); addAction({ .text = tr::lng_settings_logout(tr::now),