QtPass 1.6.0
Multi-platform GUI for pass, the standard unix password manager.
Loading...
Searching...
No Matches
storemodel.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: 2014 Anne Jan Brouwer
2// SPDX-License-Identifier: GPL-3.0-or-later
3#ifndef SRC_STOREMODEL_H_
4#define SRC_STOREMODEL_H_
5
6#include <QSortFilterProxyModel>
7
19class QFileSystemModel;
20
26 bool isDir;
27 bool isFile;
28 QString path;
29};
30
31class StoreModel : public QSortFilterProxyModel {
32 Q_OBJECT
33
34private:
35 QFileSystemModel *fs;
36 QString store;
37
38public:
42 StoreModel();
43
50 [[nodiscard]] auto filterAcceptsRow(int, const QModelIndex &) const
51 -> bool override;
52
58 [[nodiscard]] auto showThis(const QModelIndex) const -> bool;
59
65 void setModelAndStore(QFileSystemModel *sourceModel, QString passStore);
66
73 [[nodiscard]] auto data(const QModelIndex &index, int role) const
74 -> QVariant override;
75
82 [[nodiscard]] auto lessThan(const QModelIndex &source_left,
83 const QModelIndex &source_right) const
84 -> bool override;
85
90 [[nodiscard]] auto getStore() const -> QString { return store; }
91
92 // QAbstractItemModel interface
93public:
98 [[nodiscard]] auto supportedDropActions() const -> Qt::DropActions override;
99
104 [[nodiscard]] auto supportedDragActions() const -> Qt::DropActions override;
105
111 [[nodiscard]] auto flags(const QModelIndex &index) const
112 -> Qt::ItemFlags override;
113
118 [[nodiscard]] auto mimeTypes() const -> QStringList override;
119
125 [[nodiscard]] auto mimeData(const QModelIndexList &indexes) const
126 -> QMimeData * override;
127
137 auto canDropMimeData(const QMimeData *data, Qt::DropAction action, int row,
138 int column, const QModelIndex &parent) const
139 -> bool override;
140
150 auto dropMimeData(const QMimeData *data, Qt::DropAction action, int row,
151 int column, const QModelIndex &parent) -> bool override;
152};
153
154#endif // SRC_STOREMODEL_H_
auto getStore() const -> QString
Get the password store root path.
Definition storemodel.h:90
auto data(const QModelIndex &index, int role) const -> QVariant override
Get display data for index.
StoreModel()
Construct a StoreModel.
auto mimeTypes() const -> QStringList override
Get supported MIME types for drag/drop.
auto filterAcceptsRow(int, const QModelIndex &) const -> bool override
Filter whether a row should be displayed.
auto dropMimeData(const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent) -> bool override
Handle dropped MIME data.
auto mimeData(const QModelIndexList &indexes) const -> QMimeData *override
Create MIME data from indexes.
auto supportedDragActions() const -> Qt::DropActions override
Get supported drag actions.
auto showThis(const QModelIndex) const -> bool
Check if a specific index should be shown.
auto flags(const QModelIndex &index) const -> Qt::ItemFlags override
Get item flags for index.
auto canDropMimeData(const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent) const -> bool override
Check if drop is possible.
auto lessThan(const QModelIndex &source_left, const QModelIndex &source_right) const -> bool override
Compare two indices for sorting.
void setModelAndStore(QFileSystemModel *sourceModel, QString passStore)
Initialize model with source model and store path.
auto supportedDropActions() const -> Qt::DropActions override
Get supported drop actions.
Holds information for drag and drop operations in the password store.
Definition storemodel.h:25