New emoji sidebar related options

This commit is contained in:
Eric Kotato 2022-02-17 06:39:41 +03:00
parent 1186494b91
commit 887223bacb
6 changed files with 39 additions and 10 deletions

View file

@ -272,5 +272,7 @@
"ktg_experimental_linux_nvidia_opengl_description": "Qt+OpenGL have problems on Linux with NVIDIA drivers.",
"ktg_settings_view_profile_on_top": "Show \"View Profile\" first",
"ktg_settings_view_profile_on_top_about": "This option also enables \"Add \"View Profile\"\" from TDesktop's experimental settings.",
"ktg_settings_emoji_sidebar": "Enable emoji sidebar",
"ktg_settings_emoji_sidebar_right_click": "Emoji sidebar on right click",
"dummy_last_string": ""
}

View file

@ -272,5 +272,7 @@
"ktg_experimental_linux_nvidia_opengl_description": "У Qt+OpenGL есть проблемы на Linux с драйверами NVIDIA.",
"ktg_settings_view_profile_on_top": "\"Показать профиль\" первым пунктом меню",
"ktg_settings_view_profile_on_top_about": "Эта настройка также включает \"Добавить \"Показать профиль\"\" из экспериментальных настроек TDesktop.",
"ktg_settings_emoji_sidebar": "Боковая панель эмодзи",
"ktg_settings_emoji_sidebar_right_click": "Открывать боковую панель эмодзи ПКМ",
"dummy_last_string": ""
}

View file

@ -1119,16 +1119,21 @@ void HistoryWidget::initTabbedSelector() {
refreshTabbedPanel();
_tabbedSelectorToggle->addClickHandler([=] {
if (_tabbedPanel && _tabbedPanel->isHidden()) {
_tabbedPanel->showAnimated();
if (_tabbedPanel && (_tabbedPanel->isHidden()
|| ::Kotato::JsonSettings::GetBool("emoji_sidebar_right_click"))) {
_tabbedPanel->toggleAnimated();
} else {
toggleTabbedSelectorMode();
}
});
base::install_event_filter(_tabbedSelectorToggle, [=](not_null<QEvent*> e) {
if (e->type() == QEvent::ContextMenu && _tabbedPanel) {
_tabbedPanel->toggleAnimated();
if (e->type() == QEvent::ContextMenu) {
if (::Kotato::JsonSettings::GetBool("emoji_sidebar_right_click")) {
toggleTabbedSelectorMode();
} else if (_tabbedPanel) {
_tabbedPanel->toggleAnimated();
}
return base::EventFilterResult::Cancel;
}
return base::EventFilterResult::Continue;
@ -4771,7 +4776,8 @@ void HistoryWidget::toggleTabbedSelectorMode() {
}
if (_tabbedPanel) {
if (controller()->canShowThirdSection()
&& !controller()->adaptive().isOneColumn()) {
&& !controller()->adaptive().isOneColumn()
&& ::Kotato::JsonSettings::GetBool("emoji_sidebar")) {
Core::App().settings().setTabbedSelectorSectionEnabled(true);
Core::App().saveSettingsDelayed();
pushTabbedSelectorToThirdSection(

View file

@ -1567,16 +1567,21 @@ void ComposeControls::initTabbedSelector() {
}
base::install_event_filter(_tabbedSelectorToggle, [=](not_null<QEvent*> e) {
if (e->type() == QEvent::ContextMenu && _tabbedPanel) {
_tabbedPanel->toggleAnimated();
if (e->type() == QEvent::ContextMenu) {
if (::Kotato::JsonSettings::GetBool("emoji_sidebar_right_click")) {
toggleTabbedSelectorMode();
} else if (_tabbedPanel) {
_tabbedPanel->toggleAnimated();
}
return base::EventFilterResult::Cancel;
}
return base::EventFilterResult::Continue;
});
_tabbedSelectorToggle->addClickHandler([=] {
if (_tabbedPanel && _tabbedPanel->isHidden()) {
_tabbedPanel->showAnimated();
if (_tabbedPanel && (_tabbedPanel->isHidden()
|| ::Kotato::JsonSettings::GetBool("emoji_sidebar_right_click"))) {
_tabbedPanel->toggleAnimated();
} else {
toggleTabbedSelectorMode();
}
@ -2063,7 +2068,8 @@ void ComposeControls::toggleTabbedSelectorMode() {
}
if (_tabbedPanel) {
if (_window->canShowThirdSection()
&& !_window->adaptive().isOneColumn()) {
&& !_window->adaptive().isOneColumn()
&& ::Kotato::JsonSettings::GetBool("emoji_sidebar")) {
Core::App().settings().setTabbedSelectorSectionEnabled(true);
Core::App().saveSettingsDelayed();
pushTabbedSelectorToThirdSection(

View file

@ -463,6 +463,12 @@ const std::map<QString, Definition, std::greater<QString>> DefinitionMap {
{ "view_profile_on_top", {
.type = SettingType::BoolSetting,
.defaultValue = false, }},
{ "emoji_sidebar", {
.type = SettingType::BoolSetting,
.defaultValue = true, }},
{ "emoji_sidebar_right_click", {
.type = SettingType::BoolSetting,
.defaultValue = false, }},
};
using OldOptionKey = QString;

View file

@ -359,6 +359,13 @@ void SetupKotatoChats(
AddSkip(container);
AddDividerText(container, rktr("ktg_settings_view_profile_on_top_about"));
AddSkip(container);
SettingsMenuJsonSwitch(ktg_settings_emoji_sidebar, emoji_sidebar);
SettingsMenuJsonSwitch(ktg_settings_emoji_sidebar_right_click, emoji_sidebar_right_click);
AddSkip(container);
AddDivider(container);
AddSkip(container);
}
void SetupKotatoMessages(not_null<Ui::VerticalLayout*> container) {