File: XcaTreeView.h

package info (click to toggle)
xca 2.9.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 8,328 kB
  • sloc: cpp: 30,584; sh: 341; xml: 74; makefile: 56; python: 34
file content (97 lines) | stat: -rw-r--r-- 2,612 bytes parent folder | download | duplicates (2)
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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
/* vi: set sw=4 ts=4:
 *
 * Copyright (C) 2006 - 2015 Christian Hohnstaedt.
 *
 * All rights reserved.
 */

#ifndef __XCATREEVIEW_H
#define __XCATREEVIEW_H

#include <QTreeView>
#include <QHeaderView>
#include <QItemSelectionModel>
#include <QSortFilterProxyModel>
#include <QTimer>

#include "lib/pki_export.h"

class database_model;
class MainWindow;
class db_base;
class dbheader;
class pki_base;
class QKeyEvent;
class QContextMenuEvent;
class QMenu;
class load_base;
class ExportDialog;

class XcaTreeView: public QTreeView
{
	Q_OBJECT

	dbheader *curr_hd{};
	QTimer throttle{};

  protected:
	db_base *basemodel{};
	QSortFilterProxyModel *proxy{};
	MainWindow *mainwin{};
	const char *ClipboardSettings{};
	enum pki_type ClipboardPki_type{ none };
	void clipboardFormatMenu(QMenu *menu);

  public:
	XcaTreeView(QWidget *parent = nullptr);
	virtual ~XcaTreeView();
	void contextMenuEvent(QContextMenuEvent *e);
	void setModel(QAbstractItemModel *model);
	void setMainwin(MainWindow *mw, QLineEdit *filter);
	QModelIndex getIndex(const QModelIndex &index);
	QModelIndex getProxyIndex(const QModelIndex &index);
	QModelIndexList getSelectedIndexes();
	void headerEvent(QContextMenuEvent *e, int col);
	QModelIndex currentIndex();
	void showContextMenu(QContextMenuEvent *e,
				const QModelIndex &index);
	virtual void fillContextMenu(QMenu *menu, QMenu *subExport,
			const QModelIndex &index, QModelIndexList indexes)
	{
		(void)menu; (void)subExport; (void)index; (void)indexes;
	}
	void contextMenu(QContextMenuEvent *e,
			QMenu *parent = NULL, int sect = -1);
	void keyPressEvent(QKeyEvent *event);
	void changeEvent(QEvent *event);
	virtual void showPki(pki_base *) {};
	virtual void exportItems(const QModelIndexList &indexes);
	virtual void load_default(load_base *load);
	virtual ExportDialog *exportDialog(const QModelIndexList &indexes);
	virtual void exportItems(const QModelIndexList &indexes,
		const QString &filename, const pki_export *xport);

   public slots:
	void changeView();
	void showHideSections();
	void sectionMoved(int idx, int oldI, int newI);
	void columnsResize();
	void editIdx();
	void setFilter(const QString &pattern);
	void deleteItems();
	void exportItems();
	void showItems();
	void newItem();
	void doubleClick(const QModelIndex &m);
	void pem2clipboard();
	void headerDetails();
	void columnRemove();
	void columnsChanged();
	void editComment();
	void showItem(pki_base *);
	void showItem(const QModelIndex &index);
	void showItem(const QString &name);
	void itemSelectionChanged(const QModelIndex &m, const QModelIndex &);
	void clipboardFormat(QAction*);
};
#endif