summaryrefslogtreecommitdiff
path: root/examples/triage/fileinfo.h
blob: 8eac3fbefe99a1803c588142a1d1e2174a7f19c8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#pragma once
#include <QtWidgets/QLabel>
#include <QtWidgets/QWidget>
#include <QCryptographicHash>
#include "uitypes.h"
#include "viewframe.h"

class EntropyWidget;

class FileInfoWidget : public QWidget
{
	Q_OBJECT

	static constexpr std::int32_t m_maxColumns {2};
	std::pair<std::int32_t, std::int32_t> m_fieldPosition {};  // row, column
	QGridLayout* m_layout {};
	QLabel* m_entropyLabel {};

	void addField(const QString& name, const QVariant& value);
	void addCopyableField(const QString& name, const QVariant& value);
	void addCopyableFieldWithElide(const QString& name, const QVariant& value, int maxWidth);
	void addHashFields(BinaryViewRef view);

  public:
	FileInfoWidget(QWidget* parent, BinaryViewRef bv, EntropyWidget* entropyWidget);

  private Q_SLOTS:
	void updateEntropy(double avgEntropy);
};