aboutsummaryrefslogtreecommitdiff
path: root/VMProtect/watermarks_window.h
blob: f5c6bf71979d46402bb1688fdb8188e84aef04bf (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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
#ifndef WATERMARKS_WINDOW_H
#define WATERMARKS_WINDOW_H

class WatermarksWindow : public QDialog
{
    Q_OBJECT
public:
	WatermarksWindow(bool selectMode, QWidget *parent = NULL);
	~WatermarksWindow();
	static void setModel(WatermarksModel *model) { watermarks_model = model; }
	QString watermarkName() const;
	void setWatermarkName(const QString &name);
private slots:
	void addClicked();
	void delClicked();
	void renameClicked();
	void blockClicked();
	void watermarkSearchChanged();
	void watermarkIndexChanged();
	void itemDoubleClicked(const QModelIndex &index);
	void okButtonClicked();
	void scanButtonClicked();
	void watermarkNodeUpdated(ProjectNode *node);
	void watermarkNodeRemoved(ProjectNode *node);
	void fileButtonClicked();
	void processButtonClicked();
	void processEditDropDown();
	void processEditChanged();
	void contextMenuRequested(const QPoint &p);
	void helpClicked();
private:
	std::map<Watermark*, size_t> internalScanWatermarks(IFile *file);
	static WatermarksModel *watermarks_model;
	ProjectNode *currentNode() const;
	Watermark *selectedWatermark() const;
	QTreeView *currentTreeView() const;

	QTabWidget *tabBar;
	QAction *addAct;
	QAction *renameAct;
	QAction *delAct;
	QAction *blockAct;
	QTreeView *watermarkTree;
	QPushButton *okButton;
	QToolButton *addButton;
	SearchLineEdit *watermarkFilter;
	QTreeView *searchTree;
	SearchModel *searchModel;
	WatermarkScanModel *scanModel;
	FileNameEdit *fileNameEdit;
	QStackedWidget *pagePanel;
	QRadioButton *fileButton;
	QRadioButton *processButton;
	QLabel *fileNameLabel;
	QLabel *processLabel;
	QLabel *moduleLabel;
	EnumEdit *processEdit;
	EnumEdit *moduleEdit;
	bool processEditLocked;
#ifndef VMP_GNU
	bool debugPrivilegeEnabled;
#endif
	QMenu *contextMenu;
};

#endif