summaryrefslogtreecommitdiff
path: root/ui/logview.h
diff options
context:
space:
mode:
authorRusty Wagner <rusty.wagner@gmail.com>2024-01-12 10:11:19 -0700
committerRusty Wagner <rusty.wagner@gmail.com>2024-02-05 13:42:52 -0500
commit97ac519092fc87e27c49ab21aafb41b77f40dc03 (patch)
tree33d1a72b835a73c25868cb170106f865d9d54430 /ui/logview.h
parentefa49ca6d23530b5e1ececccea4a2dc0bbe3406b (diff)
Sidebar improvements
Diffstat (limited to 'ui/logview.h')
-rw-r--r--ui/logview.h27
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; }
+};