Fix hiding emoji panel with hover disabled
This commit is contained in:
parent
8031b6915a
commit
10d0710637
4 changed files with 11 additions and 7 deletions
|
|
@ -409,7 +409,7 @@ void TabbedPanel::showStarted() {
|
||||||
}
|
}
|
||||||
|
|
||||||
bool TabbedPanel::eventFilter(QObject *obj, QEvent *e) {
|
bool TabbedPanel::eventFilter(QObject *obj, QEvent *e) {
|
||||||
if (e->type() == QEvent::Enter) {
|
if (e->type() == QEvent::Enter && !_preventHover) {
|
||||||
otherEnter();
|
otherEnter();
|
||||||
} else if (e->type() == QEvent::Leave) {
|
} else if (e->type() == QEvent::Leave) {
|
||||||
otherLeave();
|
otherLeave();
|
||||||
|
|
|
||||||
|
|
@ -55,6 +55,10 @@ public:
|
||||||
void hideAnimated();
|
void hideAnimated();
|
||||||
void toggleAnimated();
|
void toggleAnimated();
|
||||||
|
|
||||||
|
void setPreventHover(bool value) {
|
||||||
|
_preventHover = value;
|
||||||
|
}
|
||||||
|
|
||||||
~TabbedPanel();
|
~TabbedPanel();
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|
@ -118,6 +122,8 @@ private:
|
||||||
Ui::Animations::Simple _a_opacity;
|
Ui::Animations::Simple _a_opacity;
|
||||||
base::Timer _hideTimer;
|
base::Timer _hideTimer;
|
||||||
|
|
||||||
|
bool _preventHover = false;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace ChatHelpers
|
} // namespace ChatHelpers
|
||||||
|
|
|
||||||
|
|
@ -4271,9 +4271,8 @@ void HistoryWidget::createTabbedPanel() {
|
||||||
void HistoryWidget::setTabbedPanel(std::unique_ptr<TabbedPanel> panel) {
|
void HistoryWidget::setTabbedPanel(std::unique_ptr<TabbedPanel> panel) {
|
||||||
_tabbedPanel = std::move(panel);
|
_tabbedPanel = std::move(panel);
|
||||||
if (const auto raw = _tabbedPanel.get()) {
|
if (const auto raw = _tabbedPanel.get()) {
|
||||||
if (HoverEmojiPanel()) {
|
_tabbedPanel->setPreventHover(!HoverEmojiPanel());
|
||||||
_tabbedSelectorToggle->installEventFilter(raw);
|
_tabbedSelectorToggle->installEventFilter(raw);
|
||||||
}
|
|
||||||
_tabbedSelectorToggle->setColorOverrides(nullptr, nullptr, nullptr);
|
_tabbedSelectorToggle->setColorOverrides(nullptr, nullptr, nullptr);
|
||||||
} else {
|
} else {
|
||||||
_tabbedSelectorToggle->setColorOverrides(
|
_tabbedSelectorToggle->setColorOverrides(
|
||||||
|
|
|
||||||
|
|
@ -1926,9 +1926,8 @@ void ComposeControls::setTabbedPanel(
|
||||||
std::unique_ptr<ChatHelpers::TabbedPanel> panel) {
|
std::unique_ptr<ChatHelpers::TabbedPanel> panel) {
|
||||||
_tabbedPanel = std::move(panel);
|
_tabbedPanel = std::move(panel);
|
||||||
if (const auto raw = _tabbedPanel.get()) {
|
if (const auto raw = _tabbedPanel.get()) {
|
||||||
if (HoverEmojiPanel()) {
|
_tabbedPanel->setPreventHover(!HoverEmojiPanel());
|
||||||
_tabbedSelectorToggle->installEventFilter(raw);
|
_tabbedSelectorToggle->installEventFilter(raw);
|
||||||
}
|
|
||||||
_tabbedSelectorToggle->setColorOverrides(nullptr, nullptr, nullptr);
|
_tabbedSelectorToggle->setColorOverrides(nullptr, nullptr, nullptr);
|
||||||
} else {
|
} else {
|
||||||
_tabbedSelectorToggle->setColorOverrides(
|
_tabbedSelectorToggle->setColorOverrides(
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue