[Option][GUI] Emoji panel options
This commit is contained in:
parent
ea1e09d83b
commit
e3ca5bb69b
6 changed files with 50 additions and 6 deletions
|
|
@ -174,5 +174,7 @@
|
|||
"ktg_in_app_update_disabled": "In-app updater is disabled.",
|
||||
"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": ""
|
||||
}
|
||||
|
|
|
|||
|
|
@ -57,6 +57,10 @@ public:
|
|||
void hideAnimated();
|
||||
void toggleAnimated();
|
||||
|
||||
void setPreventHover(bool value) {
|
||||
_preventHover = value;
|
||||
}
|
||||
|
||||
~TabbedPanel();
|
||||
|
||||
protected:
|
||||
|
|
@ -120,6 +124,8 @@ private:
|
|||
Ui::Animations::Simple _a_opacity;
|
||||
base::Timer _hideTimer;
|
||||
|
||||
bool _preventHover = false;
|
||||
|
||||
};
|
||||
|
||||
} // namespace ChatHelpers
|
||||
|
|
|
|||
|
|
@ -1100,13 +1100,26 @@ 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) {
|
||||
if (::Kotato::JsonSettings::GetBool("emoji_sidebar_right_click")) {
|
||||
toggleTabbedSelectorMode();
|
||||
} else if (_tabbedPanel) {
|
||||
_tabbedPanel->toggleAnimated();
|
||||
}
|
||||
return base::EventFilterResult::Cancel;
|
||||
}
|
||||
return base::EventFilterResult::Continue;
|
||||
});
|
||||
|
||||
const auto selector = controller()->tabbedSelector();
|
||||
|
||||
base::install_event_filter(this, selector, [=](not_null<QEvent*> e) {
|
||||
|
|
@ -4803,7 +4816,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(
|
||||
|
|
|
|||
|
|
@ -1842,9 +1842,22 @@ void ComposeControls::initTabbedSelector() {
|
|||
setTabbedPanel(nullptr);
|
||||
}
|
||||
|
||||
base::install_event_filter(_tabbedSelectorToggle, [=](not_null<QEvent*> e) {
|
||||
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();
|
||||
}
|
||||
|
|
@ -2323,7 +2336,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(
|
||||
|
|
|
|||
|
|
@ -444,6 +444,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;
|
||||
|
|
|
|||
|
|
@ -362,6 +362,8 @@ void SetupKotatoChats(
|
|||
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);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue