summaryrefslogtreecommitdiff
path: root/examples/triage/headers.h
diff options
context:
space:
mode:
authorJordan Wiens <github@psifertex.com>2025-12-19 14:18:19 -0500
committerJordan Wiens <github@psifertex.com>2025-12-19 15:20:22 -0500
commitdbdf3381e2dd32527cffaca6081fc5a9913f1cc7 (patch)
tree4f10dc3101700a63f7e83a087e69b5b1659fb61a /examples/triage/headers.h
parent1cabd2def9da8ee106be26308b96a2a91cd92a2f (diff)
triage view responsive layout
Diffstat (limited to 'examples/triage/headers.h')
-rw-r--r--examples/triage/headers.h29
1 files changed, 29 insertions, 0 deletions
diff --git a/examples/triage/headers.h b/examples/triage/headers.h
index de14165a..84bfa018 100644
--- a/examples/triage/headers.h
+++ b/examples/triage/headers.h
@@ -2,9 +2,21 @@
#include <QtWidgets/QLabel>
#include <QtWidgets/QWidget>
+#include <QtWidgets/QGridLayout>
+#include <QtCore/QTimer>
+#include <QtGui/QScreen>
+#include <QtGui/QWindow>
+#include <QtGui/QGuiApplication>
#include <functional>
#include "uitypes.h"
#include "copyablelabel.h"
+#include "uicontext.h"
+
+// Responsive layout breakpoints (logical pixels)
+namespace TriageBreakpoints {
+ constexpr int NARROW = 1000;
+ constexpr int MEDIUM = 1400;
+}
class NavigationLabel : public QLabel
@@ -91,6 +103,23 @@ class PEHeaders : public Headers
class HeaderWidget : public QWidget
{
+ Q_OBJECT
+
+ Headers m_headers;
+ QGridLayout* m_layout;
+ int m_currentColumns;
+ int m_pendingWidth;
+ QTimer* m_resizeTimer;
+
+ void rebuildLayout();
+
public:
HeaderWidget(QWidget* parent, const Headers& headers);
+ void updateColumns(int width);
+
+ protected:
+ virtual void resizeEvent(QResizeEvent* event) override;
+
+ private slots:
+ void performDelayedResize();
};