From c6e07b63821ed6cec2b193bf9018cc019f6dda7e Mon Sep 17 00:00:00 2001 From: Rusty Wagner Date: Tue, 15 Nov 2022 18:44:56 -0700 Subject: Remove QGraphicsEffect as it's causing instability --- ui/pane.h | 42 +++++++++++++++++++++++++++++++++++++++++- 1 file changed, 41 insertions(+), 1 deletion(-) diff --git a/ui/pane.h b/ui/pane.h index 02bec3b0..25877111 100644 --- a/ui/pane.h +++ b/ui/pane.h @@ -11,6 +11,8 @@ class ViewFrame; class FeatureMap; class PaneHeader; +class PaneHeaderContainer; +class PaneHeaderFade; class CloseButton; class TabDragIndicator; class SyncGroup; @@ -30,7 +32,8 @@ class BINARYNINJAUIAPI Pane : public QWidget Q_OBJECT QWidget* m_widget; - QWidget* m_headerContainer = nullptr; + PaneHeaderContainer* m_headerContainer = nullptr; + PaneHeaderFade* m_headerFade = nullptr; PaneHeader* m_header = nullptr; CloseButton* m_closeButton = nullptr; bool m_active = false; @@ -70,6 +73,7 @@ class BINARYNINJAUIAPI Pane : public QWidget void splitButtonClicked(Qt::Orientation orientation); void closeButtonClicked(); void headerClicked(); + void headerResized(QSize size); void movePaneRequested(Pane* target, Qt::Edge edge); void newWindowForPaneRequested(QScreen* screen, QPoint pos); }; @@ -141,6 +145,42 @@ class BINARYNINJAUIAPI PaneHeader : public QWidget void headerClicked(); }; +/*! + + \ingroup pane +*/ +class BINARYNINJAUIAPI PaneHeaderContainer : public QWidget +{ + Q_OBJECT + +public: + PaneHeaderContainer() {} + +protected: + virtual void resizeEvent(QResizeEvent* event) override; + +Q_SIGNALS: + void resize(QSize size); +}; + +/*! + + \ingroup pane +*/ +class BINARYNINJAUIAPI PaneHeaderFade : public QWidget +{ + Q_OBJECT + + bool m_active = false; + +public: + PaneHeaderFade(QWidget* parent); + void setActive(bool active); + +protected: + virtual void paintEvent(QPaintEvent* event) override; +}; + class ViewFrame; class ViewPaneHeader; -- cgit v1.3.1