This repository has been archived by the owner on Sep 30, 2018. It is now read-only.
/
safelistview.hpp
118 lines (83 loc) · 2.62 KB
/
safelistview.hpp
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
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
/* $Header: /home/cvsroot/MyPasswordSafe/src/safelistview.hpp,v 1.2 2004/05/04 22:48:44 nolan Exp $
*/
#ifndef SAFELISTVIEW_HPP
#define SAFELISTVIEW_HPP
#include <qlistview.h>
#include "safe.hpp"
/* SafeListView is a basic list view w/o
* tree support.
*/
class SafeListView;
class SafeListViewGroup;
class SafeListViewItem: public QListViewItem
{
public:
static const int RTTI = 1001;
SafeListViewItem(SafeListView *parent, SafeItem *item);
SafeListViewItem(SafeListViewGroup *parent, SafeItem *item);
virtual ~SafeListViewItem();
int rtti() const { return RTTI; }
virtual void setSelected(bool yes);
virtual QString text(int col = 0) const;
void setName(const QString &name);
QString getName() const;
void setUser(const QString &user);
QString getUser() const;
void setPassword(const EncryptedString &pword);
const EncryptedString &getPassword() const;
void setNotes(const QString ¬es);
QString getNotes() const;
void setGroup(const QString &group);
QString getGroup() const;
inline SafeItem *item() { return m_item; }
private:
SafeItem *m_item;
};
class SafeListViewGroup: public QListViewItem
{
public:
static const int RTTI = 1002;
SafeListViewGroup(SafeListView *parent, const QString &name);
SafeListViewGroup(SafeListViewGroup *parent, const QString &name);
int rtti() const { return RTTI; }
virtual void setOpen(bool yes);
virtual void setName(const QString &name);
virtual QString text(int col = 0) const;
const QString fullname() const;
virtual bool acceptDrop(const QMimeSource *mime) const;
virtual void dropped(QDropEvent *event);
protected:
void init();
QString escape(const QString &name) const;
void updateItems();
private:
QString m_name;
};
class SafeListView: public QListView
{
Q_OBJECT;
public:
SafeListView(QWidget *parent = NULL,
const char *name = NULL, Safe *safe = NULL);
virtual ~SafeListView();
virtual void setResizePolicy(QListView::WidthMode mode);
void setSafe(Safe *safe);
SafeListViewItem *getSelectedItem();
SafeListViewItem *addItem(SafeItem *item);
// adds an item to the view, and updates its group
void delItem(SafeListViewItem *item);
SafeListViewGroup *findGroup(const QString &group_name);
SafeListViewGroup *addGroup(const QString &group_name);
// adds a new group specified by a full group name
virtual void startDrag();
signals:
//void contextMenuRequested(QListViewItem *, const QPoint &, int);
//void doubleClicked(QListViewItem *);
protected:
void populate();
QString thisGroup(const QString &group);
QString parentGroup(const QString &group);
private:
Safe *m_safe;
};
#endif