From 8380ad61f9595f4783a7efd2bf3ab2b76552fb40 Mon Sep 17 00:00:00 2001 From: Brad Parker Date: Sun, 19 Aug 2018 18:54:13 -0400 Subject: [PATCH] Qt: add missing paintEvent overrides for stylesheet correctness --- ui/drivers/qt/shaderparamsdialog.cpp | 14 +++++ ui/drivers/qt/shaderparamsdialog.h | 2 + ui/drivers/qt/ui_qt_window.cpp | 78 ++++++++++++++++++++++++++++ ui/drivers/qt/viewoptionsdialog.cpp | 13 +++++ ui/drivers/qt/viewoptionsdialog.h | 2 + ui/drivers/ui_qt.h | 10 ++++ 6 files changed, 119 insertions(+) diff --git a/ui/drivers/qt/shaderparamsdialog.cpp b/ui/drivers/qt/shaderparamsdialog.cpp index 4d549ce309..bfbf9bf532 100644 --- a/ui/drivers/qt/shaderparamsdialog.cpp +++ b/ui/drivers/qt/shaderparamsdialog.cpp @@ -1,5 +1,6 @@ #include #include +#include #include #include #include @@ -1152,3 +1153,16 @@ void ShaderParamsDialog::onShaderParamDoubleSpinBoxValueChanged(double value) } } } + +void ShaderParamsDialog::paintEvent(QPaintEvent *event) +{ + QStyleOption o; + QPainter p; + o.initFrom(this); + p.begin(this); + style()->drawPrimitive( + QStyle::PE_Widget, &o, &p, this); + p.end(); + + QDialog::paintEvent(event); +} diff --git a/ui/drivers/qt/shaderparamsdialog.h b/ui/drivers/qt/shaderparamsdialog.h index 5e2afdb9a2..73c6f82423 100644 --- a/ui/drivers/qt/shaderparamsdialog.h +++ b/ui/drivers/qt/shaderparamsdialog.h @@ -5,6 +5,7 @@ class QCloseEvent; class QResizeEvent; +class QPaintEvent; class QVBoxLayout; class QFormLayout; class QLayout; @@ -49,6 +50,7 @@ private: protected: void closeEvent(QCloseEvent *event); void resizeEvent(QResizeEvent *event); + void paintEvent(QPaintEvent *event); }; #endif diff --git a/ui/drivers/qt/ui_qt_window.cpp b/ui/drivers/qt/ui_qt_window.cpp index 9e64b80a69..7d980f7093 100644 --- a/ui/drivers/qt/ui_qt_window.cpp +++ b/ui/drivers/qt/ui_qt_window.cpp @@ -191,6 +191,19 @@ void TreeView::selectionChanged(const QItemSelection &selected, const QItemSelec emit itemsSelected(list); } +void TreeView::paintEvent(QPaintEvent *event) +{ + QStyleOption o; + QPainter p; + o.initFrom(this); + p.begin(this); + style()->drawPrimitive( + QStyle::PE_Widget, &o, &p, this); + p.end(); + + QTreeView::paintEvent(event); +} + TableWidget::TableWidget(QWidget *parent) : QTableWidget(parent) { @@ -212,12 +225,38 @@ void TableWidget::keyPressEvent(QKeyEvent *event) QTableWidget::keyPressEvent(event); } +void TableWidget::paintEvent(QPaintEvent *event) +{ + QStyleOption o; + QPainter p; + o.initFrom(this); + p.begin(this); + style()->drawPrimitive( + QStyle::PE_Widget, &o, &p, this); + p.end(); + + QTableWidget::paintEvent(event); +} + CoreInfoLabel::CoreInfoLabel(QString text, QWidget *parent) : QLabel(text, parent) { setTextInteractionFlags(Qt::TextSelectableByMouse | Qt::TextSelectableByKeyboard); } +void CoreInfoLabel::paintEvent(QPaintEvent *event) +{ + QStyleOption o; + QPainter p; + o.initFrom(this); + p.begin(this); + style()->drawPrimitive( + QStyle::PE_Widget, &o, &p, this); + p.end(); + + QLabel::paintEvent(event); +} + CoreInfoWidget::CoreInfoWidget(CoreInfoLabel *label, QWidget *parent) : QWidget(parent) ,m_label(label) @@ -238,6 +277,19 @@ void CoreInfoWidget::resizeEvent(QResizeEvent *event) m_scrollArea->resize(event->size()); } +void CoreInfoWidget::paintEvent(QPaintEvent *event) +{ + QStyleOption o; + QPainter p; + o.initFrom(this); + p.begin(this); + style()->drawPrimitive( + QStyle::PE_Widget, &o, &p, this); + p.end(); + + QWidget::paintEvent(event); +} + LogTextEdit::LogTextEdit(QWidget *parent) : QPlainTextEdit(parent) { @@ -253,6 +305,19 @@ void LogTextEdit::appendMessage(const QString& text) verticalScrollBar()->setValue(verticalScrollBar()->maximum()); } +void LogTextEdit::paintEvent(QPaintEvent *event) +{ + QStyleOption o; + QPainter p; + o.initFrom(this); + p.begin(this); + style()->drawPrimitive( + QStyle::PE_Widget, &o, &p, this); + p.end(); + + QPlainTextEdit::paintEvent(event); +} + MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) ,m_loadCoreWindow(new LoadCoreWindow(this)) @@ -2947,6 +3012,19 @@ void MainWindow::onShowInfoMessage(QString msg) showMessageBox(msg, MainWindow::MSGBOX_TYPE_INFO, Qt::ApplicationModal, false); } +void MainWindow::paintEvent(QPaintEvent *event) +{ + QStyleOption o; + QPainter p; + o.initFrom(this); + p.begin(this); + style()->drawPrimitive( + QStyle::PE_Widget, &o, &p, this); + p.end(); + + QMainWindow::paintEvent(event); +} + static void* ui_window_qt_init(void) { ui_window.qtWindow = new MainWindow(); diff --git a/ui/drivers/qt/viewoptionsdialog.cpp b/ui/drivers/qt/viewoptionsdialog.cpp index a293b01a00..fc265b6af0 100644 --- a/ui/drivers/qt/viewoptionsdialog.cpp +++ b/ui/drivers/qt/viewoptionsdialog.cpp @@ -10,6 +10,7 @@ #include #include #include +#include #include "viewoptionsdialog.h" #include "../ui_qt.h" @@ -216,3 +217,15 @@ void ViewOptionsDialog::hideDialog() reject(); } +void ViewOptionsDialog::paintEvent(QPaintEvent *event) +{ + QStyleOption o; + QPainter p; + o.initFrom(this); + p.begin(this); + style()->drawPrimitive( + QStyle::PE_Widget, &o, &p, this); + p.end(); + + QDialog::paintEvent(event); +} diff --git a/ui/drivers/qt/viewoptionsdialog.h b/ui/drivers/qt/viewoptionsdialog.h index 7b5c7c71fe..1ceb70f313 100644 --- a/ui/drivers/qt/viewoptionsdialog.h +++ b/ui/drivers/qt/viewoptionsdialog.h @@ -44,6 +44,8 @@ private: QCheckBox *m_suggestLoadedCoreFirstCheckBox; QSpinBox *m_allPlaylistsListMaxCountSpinBox; QSpinBox *m_allPlaylistsGridMaxCountSpinBox; +protected: + void paintEvent(QPaintEvent *event); }; #endif diff --git a/ui/drivers/ui_qt.h b/ui/drivers/ui_qt.h index 0b8debb3b9..c04ae44173 100644 --- a/ui/drivers/ui_qt.h +++ b/ui/drivers/ui_qt.h @@ -153,6 +153,8 @@ signals: protected slots: void columnCountChanged(int oldCount, int newCount); void selectionChanged(const QItemSelection &selected, const QItemSelection &deselected); +protected: + void paintEvent(QPaintEvent *event); }; class TableWidget : public QTableWidget @@ -165,6 +167,8 @@ signals: void deletePressed(); protected: void keyPressEvent(QKeyEvent *event); +protected: + void paintEvent(QPaintEvent *event); }; class AppHandler : public QObject @@ -186,6 +190,8 @@ class CoreInfoLabel : public QLabel Q_OBJECT public: CoreInfoLabel(QString text = QString(), QWidget *parent = 0); +protected: + void paintEvent(QPaintEvent *event); }; class CoreInfoWidget : public QWidget @@ -196,6 +202,7 @@ public: QSize sizeHint() const; protected: void resizeEvent(QResizeEvent *event); + void paintEvent(QPaintEvent *event); private: CoreInfoLabel *m_label; QScrollArea *m_scrollArea; @@ -208,6 +215,8 @@ public: LogTextEdit(QWidget *parent = 0); public slots: void appendMessage(const QString& text); +protected: + void paintEvent(QPaintEvent *event); }; class MainWindow : public QMainWindow @@ -450,6 +459,7 @@ private: protected: void closeEvent(QCloseEvent *event); void keyPressEvent(QKeyEvent *event); + void paintEvent(QPaintEvent *event); }; Q_DECLARE_METATYPE(ThumbnailWidget)