moved the tooltip close logic to basewidget
This commit is contained in:
@@ -1,6 +1,7 @@
|
|||||||
#include "widgets/basewidget.hpp"
|
#include "widgets/basewidget.hpp"
|
||||||
#include "colorscheme.hpp"
|
#include "colorscheme.hpp"
|
||||||
#include "settingsmanager.hpp"
|
#include "settingsmanager.hpp"
|
||||||
|
#include "widgets/tooltipwidget.hpp"
|
||||||
|
|
||||||
#include <QDebug>
|
#include <QDebug>
|
||||||
#include <QLayout>
|
#include <QLayout>
|
||||||
@@ -61,6 +62,8 @@ void BaseWidget::init()
|
|||||||
|
|
||||||
void BaseWidget::initAsWindow()
|
void BaseWidget::initAsWindow()
|
||||||
{
|
{
|
||||||
|
this->isWindow = true;
|
||||||
|
|
||||||
#ifdef USEWINSDK
|
#ifdef USEWINSDK
|
||||||
auto dpi = util::getWindowDpi(this->winId());
|
auto dpi = util::getWindowDpi(this->winId());
|
||||||
|
|
||||||
@@ -101,5 +104,11 @@ bool BaseWidget::nativeEvent(const QByteArray &eventType, void *message, long *r
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
void BaseWidget::focusOutEvent(QFocusEvent *)
|
||||||
|
{
|
||||||
|
if (this->isWindow) {
|
||||||
|
TooltipWidget::getInstance()->hide();
|
||||||
|
}
|
||||||
|
}
|
||||||
} // namespace widgets
|
} // namespace widgets
|
||||||
} // namespace chatterino
|
} // namespace chatterino
|
||||||
|
|||||||
@@ -28,13 +28,17 @@ protected:
|
|||||||
virtual bool nativeEvent(const QByteArray &eventType, void *message, long *result) override;
|
virtual bool nativeEvent(const QByteArray &eventType, void *message, long *result) override;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
virtual void focusOutEvent(QFocusEvent *) override;
|
||||||
|
|
||||||
// XXX: Should this be pure virtual?
|
// XXX: Should this be pure virtual?
|
||||||
|
// fourtf: hell no
|
||||||
virtual void dpiMultiplierChanged(float /*oldDpi*/, float /*newDpi*/)
|
virtual void dpiMultiplierChanged(float /*oldDpi*/, float /*newDpi*/)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
void initAsWindow();
|
void initAsWindow();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
bool isWindow = false;
|
||||||
float dpiMultiplier = 1.f;
|
float dpiMultiplier = 1.f;
|
||||||
|
|
||||||
void init();
|
void init();
|
||||||
|
|||||||
@@ -82,7 +82,6 @@ ChannelView::ChannelView(BaseWidget *parent)
|
|||||||
Window *_window = dynamic_cast<Window *>(this->window());
|
Window *_window = dynamic_cast<Window *>(this->window());
|
||||||
|
|
||||||
if (_window) {
|
if (_window) {
|
||||||
_window->lostFocus.connect([this] { TooltipWidget::getInstance()->hide(); });
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+12
-13
@@ -107,20 +107,19 @@ void Window::closeEvent(QCloseEvent *)
|
|||||||
this->closed();
|
this->closed();
|
||||||
}
|
}
|
||||||
|
|
||||||
void Window::changeEvent(QEvent *event)
|
// void Window::changeEvent(QEvent *event)
|
||||||
{
|
//{
|
||||||
if(!this->isActiveWindow())
|
// if (!this->isActiveWindow()) {
|
||||||
{
|
// this->lostFocus.invoke();
|
||||||
this->lostFocus.invoke();
|
// }
|
||||||
}
|
// BaseWidget::changeEvent(event);
|
||||||
BaseWidget::changeEvent(event);
|
//}
|
||||||
}
|
|
||||||
|
|
||||||
void Window::leaveEvent(QEvent *event)
|
// void Window::leaveEvent(QEvent *event)
|
||||||
{
|
//{
|
||||||
this->lostFocus.invoke();
|
// this->lostFocus.invoke();
|
||||||
BaseWidget::leaveEvent(event);
|
// BaseWidget::leaveEvent(event);
|
||||||
}
|
//}
|
||||||
|
|
||||||
void Window::refreshTheme()
|
void Window::refreshTheme()
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -56,13 +56,14 @@ public:
|
|||||||
|
|
||||||
boost::signals2::signal<void()> closed;
|
boost::signals2::signal<void()> closed;
|
||||||
|
|
||||||
pajlada::Signals::NoArgSignal lostFocus;
|
// pajlada::Signals::NoArgSignal lostFocus;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
virtual void closeEvent(QCloseEvent *event) override;
|
virtual void closeEvent(QCloseEvent *event) override;
|
||||||
|
|
||||||
virtual void changeEvent(QEvent *event) override;
|
// virtual void changeEvent(QEvent *event) override;
|
||||||
virtual void leaveEvent(QEvent *event) override;
|
// virtual void leaveEvent(QEvent *event) override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
float dpi;
|
float dpi;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user