Paint tray menu background as normal widget when shown as normal window
This commit is contained in:
parent
24a9e63005
commit
4fc3777a9e
|
@ -8,6 +8,8 @@
|
|||
|
||||
#include <QApplication>
|
||||
#include <QHBoxLayout>
|
||||
#include <QPaintEvent>
|
||||
#include <QPainter>
|
||||
#include <QWindow>
|
||||
|
||||
using namespace QtUtilities;
|
||||
|
@ -80,6 +82,16 @@ void TrayMenu::mousePressEvent(QMouseEvent *event)
|
|||
}
|
||||
}
|
||||
|
||||
void TrayMenu::paintEvent(QPaintEvent *event)
|
||||
{
|
||||
if (!m_windowed) {
|
||||
QMenu::paintEvent(event);
|
||||
} else {
|
||||
QPainter(this).fillRect(event->rect(), palette().window());
|
||||
QWidget::paintEvent(event);
|
||||
}
|
||||
}
|
||||
|
||||
void TrayMenu::mouseReleaseEvent(QMouseEvent *event)
|
||||
{
|
||||
if (!m_windowed) {
|
||||
|
|
|
@ -28,6 +28,7 @@ public Q_SLOTS:
|
|||
protected:
|
||||
void mouseReleaseEvent(QMouseEvent *) override;
|
||||
void mousePressEvent(QMouseEvent *) override;
|
||||
void paintEvent(QPaintEvent *) override;
|
||||
|
||||
private:
|
||||
TrayWidget *m_trayWidget;
|
||||
|
|
Loading…
Reference in New Issue