diff options
| author | Rusty Wagner <rusty.wagner@gmail.com> | 2025-08-12 19:34:23 -0400 |
|---|---|---|
| committer | Rusty Wagner <rusty.wagner@gmail.com> | 2025-08-29 15:42:09 -0400 |
| commit | 0cf8ae794f97626d4560a87165b30870a313a743 (patch) | |
| tree | c77248cf663121c963433c5bd29a7b624d4a1cc7 /ui | |
| parent | 5c4abf48ab4b77555a79777bc37d52c842ee149a (diff) | |
Highlight sidebar icon when the sidebar has focus
Diffstat (limited to 'ui')
| -rw-r--r-- | ui/sidebar.h | 4 | ||||
| -rw-r--r-- | ui/sidebarcontainer.h | 5 | ||||
| -rw-r--r-- | ui/sidebaricons.h | 2 |
3 files changed, 11 insertions, 0 deletions
diff --git a/ui/sidebar.h b/ui/sidebar.h index df749fe4..2c26a190 100644 --- a/ui/sidebar.h +++ b/ui/sidebar.h @@ -20,6 +20,8 @@ struct BINARYNINJAUIAPI SidebarMetrics int iconTotalWidth, iconTotalHeight; int dragIconPadding; int dropIconPadding; + int focusRectPadding; + int focusRectRadius; }; /*! @@ -140,6 +142,8 @@ public: void restoreState(const QSettings& settings, const QString& windowStateName, bool globalStateOnly = false); bool restoreActiveState(const QVariant& state); + void focusChanged(SidebarWidgetAndHeader* widget); + static void addSidebarWidgetType(SidebarWidgetType* type); static void moveSidebarWidgetType(SidebarWidgetType* type, SidebarWidgetLocation newLocation, size_t newIndex); static SidebarWidgetType* typeFromName(const QString& name); diff --git a/ui/sidebarcontainer.h b/ui/sidebarcontainer.h index acd27761..99b42b89 100644 --- a/ui/sidebarcontainer.h +++ b/ui/sidebarcontainer.h @@ -94,6 +94,8 @@ class BINARYNINJAUIAPI SidebarWidgetContainer : public QWidget std::map<SidebarWidgetType*, SidebarFloatingWidgetState> m_savedFloatingWidgetState; + SidebarWidgetType* m_focusedType = nullptr; + SidebarStackedWidget& stackedWidgetForType(SidebarWidgetType* type); std::vector<SidebarWidgetAndHeader*> widgetsForContext() const; std::vector<SidebarContentClassifier*> contentClassifiersForContext() const; @@ -166,6 +168,9 @@ public: bool isFloating(SidebarWidgetType* type); bool isWindowed(SidebarWidgetType* type); + void focusChanged(SidebarWidgetAndHeader* widget); + SidebarWidgetType* focusedType() const { return m_focusedType; } + Q_SIGNALS: void showContents(); void hideContents(); diff --git a/ui/sidebaricons.h b/ui/sidebaricons.h index 7ba57f77..f116b0a0 100644 --- a/ui/sidebaricons.h +++ b/ui/sidebaricons.h @@ -104,6 +104,8 @@ public: void updateVisibility(); void refreshMetrics(); + void focusChanged(SidebarWidgetAndHeader* widget); + Q_SIGNALS: void containerVisibilityChanged(); }; |
