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
|