From 44cdc49cbbcf337419b11ccd2135a804be540551 Mon Sep 17 00:00:00 2001 From: kat Date: Thu, 11 Jan 2024 12:54:16 -0500 Subject: Tabbar rework --- ui/tabwidget.h | 24 ++++++++++++++++++++++++ ui/theme.h | 1 + 2 files changed, 25 insertions(+) diff --git a/ui/tabwidget.h b/ui/tabwidget.h index 08ce60ea..e55abf60 100644 --- a/ui/tabwidget.h +++ b/ui/tabwidget.h @@ -88,6 +88,7 @@ struct BINARYNINJAUIAPI DockableTabInfo QRect tabRect, closeButtonRect, closeIconRect; bool modifiedIndicator; bool canClose; + bool isDrag = false; }; /*! @@ -322,6 +323,29 @@ class BINARYNINJAUIAPI DockableTabWidget : public QWidget void reparentTab(int oldIdx, DockableTabWidget* target, int newIdx); }; +class BINARYNINJAUIAPI FlexibleTabBar : public QWidget +{ + DockableTabBar* m_bar; + + QHBoxLayout* m_overallBarLayout; + QHBoxLayout* m_barLayout; + QHBoxLayout* m_leftLayout; + QHBoxLayout* m_rightLayout; + +public: + enum FlexibleTabBarWidgetLocation { + LeftCorner, + RightCorner, + AfterTabs + }; + FlexibleTabBar(DockableTabBar* bar); + void addWidget(QWidget* widget, FlexibleTabBarWidgetLocation corner); + void insertWidget(int idx, QWidget* widget, FlexibleTabBarWidgetLocation corner); + +protected: + void paintEvent(QPaintEvent* event) override; +}; + /*! \ingroup tabwidget diff --git a/ui/theme.h b/ui/theme.h index 47f054d5..381664cb 100644 --- a/ui/theme.h +++ b/ui/theme.h @@ -27,6 +27,7 @@ class BINARYNINJAUIAPI CustomFusionStyle : public QProxyStyle PrimitiveElement elem, const QStyleOption *option, QPainter *painter, const QWidget *widget) const override; }; +void BINARYNINJAUIAPI pixmapForBWMaskIcon(const QString& url, QPixmap* pixmapOut, BNThemeColor color = SidebarInactiveIconColor, const QString& cacheSuffix = ""); void BINARYNINJAUIAPI initThemes(); void BINARYNINJAUIAPI resetUserThemes(); -- cgit v1.3.1