diff options
| author | Rusty Wagner <rusty.wagner@gmail.com> | 2024-01-12 10:11:19 -0700 |
|---|---|---|
| committer | Rusty Wagner <rusty.wagner@gmail.com> | 2024-02-05 13:42:52 -0500 |
| commit | 97ac519092fc87e27c49ab21aafb41b77f40dc03 (patch) | |
| tree | 33d1a72b835a73c25868cb170106f865d9d54430 /ui/logview.h | |
| parent | efa49ca6d23530b5e1ececccea4a2dc0bbe3406b (diff) | |
Sidebar improvements
Diffstat (limited to 'ui/logview.h')
| -rw-r--r-- | ui/logview.h | 27 |
1 files changed, 24 insertions, 3 deletions
diff --git a/ui/logview.h b/ui/logview.h index aff78562..3d0ce4cd 100644 --- a/ui/logview.h +++ b/ui/logview.h @@ -20,6 +20,7 @@ #include "action.h" #include "globalarea.h" #include "render.h" +#include "filter.h" #define LOG_UPDATE_INTERVAL 100 @@ -223,7 +224,7 @@ class BINARYNINJAUIAPI LogViewComboBox : public QComboBox \ingroup logview */ -class BINARYNINJAUIAPI LogView : public GlobalAreaWidget +class BINARYNINJAUIAPI LogView : public SidebarWidget, public FilterTarget { Q_OBJECT @@ -236,7 +237,7 @@ class BINARYNINJAUIAPI LogView : public GlobalAreaWidget QTimer* m_updateTimer; LogViewComboBox* m_comboBox; - QLineEdit* m_lineEdit; + FilteredView* m_filteredView; QWidget* m_filterWidget; RenderContext m_render; @@ -262,10 +263,18 @@ class BINARYNINJAUIAPI LogView : public GlobalAreaWidget void focus() override; LogListModel* model() { return m_listModel; } - void updateFilter(const QString& filterText); + void setFilter(const std::string& filter) override; LoggingScope getScope() const { return m_model->getScope(); } void setScope(LoggingScope scope) { m_model->setScope(scope); } + QWidget* headerWidget() override { return m_filterWidget; } + + void scrollToFirstItem() override; + void scrollToCurrentItem() override; + void selectFirstItem() override; + void activateFirstItem() override {} + void closeFilter() override; + // std::pair<size_t, size_t> GetSelectionIndexAndOffsetFromPosition(const QPoint& position) const; // virtual void mousePressEvent(QMouseEvent* event) override; // virtual void mouseReleaseEvent(QMouseEvent* event) override; @@ -326,3 +335,15 @@ class BINARYNINJAUIAPI LogStatus : public QWidget public Q_SLOTS: void clicked(bool error); }; + +/*! + + \ingroup logview +*/ +class BINARYNINJAUIAPI LogViewSidebarWidgetType : public SidebarWidgetType +{ +public: + LogViewSidebarWidgetType(); + SidebarWidgetLocation defaultLocation() const override { return SidebarWidgetLocation::RightBottom; } + SidebarContextSensitivity contextSensitivity() const override { return GlobalSidebarContext; } +}; |
