/usr/include/KF5/messagecomposer/attachmentmodel.h is in libkf5messagecomposer-dev 4:17.12.3-0ubuntu3.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
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 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 | /*
* This file is part of KMail.
* Copyright (c) 2009 Constantin Berzan <exit3219@gmail.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along
* with this program; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
#ifndef KMAIL_ATTACHMENTMODEL_H
#define KMAIL_ATTACHMENTMODEL_H
#include "messagecomposer_export.h"
#include <QAbstractItemModel>
#include <QUrl>
#include <MessageCore/AttachmentPart>
#include <AkonadiCore/item.h>
namespace MessageComposer {
/**
Columns:
name
size
encoding
mime type
compress
encrypt
sign
*/
class MESSAGECOMPOSER_EXPORT AttachmentModel : public QAbstractItemModel
{
Q_OBJECT
public:
enum {
AttachmentPartRole = Qt::UserRole,
NameRole,
SizeRole,
EncodingRole,
MimeTypeRole,
CompressRole,
EncryptRole,
SignRole,
AutoDisplayRole
};
/**
* @todo: get rid of columns and use the roles instead.
*/
enum Column {
NameColumn,
SizeColumn,
EncodingColumn,
MimeTypeColumn,
CompressColumn,
EncryptColumn,
SignColumn,
AutoDisplayColumn,
LastColumn ///< @internal
};
explicit AttachmentModel(QObject *parent);
~AttachmentModel();
bool dropMimeData(const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent) override;
QMimeData *mimeData(const QModelIndexList &indexes) const override;
QStringList mimeTypes() const override;
Qt::DropActions supportedDropActions() const override;
/// for the save/discard warning
bool isModified() const;
void setModified(bool modified);
bool isEncryptEnabled() const;
void setEncryptEnabled(bool enabled);
bool isSignEnabled() const;
void setSignEnabled(bool enabled);
bool isEncryptSelected() const;
/// sets for all
void setEncryptSelected(bool selected);
bool isSignSelected() const;
/// sets for all
void setSignSelected(bool selected);
bool isAutoDisplayEnabled() const;
void setAutoDisplayEnabled(bool enabled);
QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override;
bool setData(const QModelIndex &index, const QVariant &value, int role = Qt::EditRole) override;
bool addAttachment(MessageCore::AttachmentPart::Ptr part);
bool updateAttachment(MessageCore::AttachmentPart::Ptr part);
bool replaceAttachment(MessageCore::AttachmentPart::Ptr oldPart, MessageCore::AttachmentPart::Ptr newPart);
bool removeAttachment(MessageCore::AttachmentPart::Ptr part);
MessageCore::AttachmentPart::List attachments() const;
Qt::ItemFlags flags(const QModelIndex &index) const override;
QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const override;
QModelIndex index(int row, int column, const QModelIndex &parent = QModelIndex()) const override;
QModelIndex parent(const QModelIndex &index) const override;
int rowCount(const QModelIndex &parent = QModelIndex()) const override;
int columnCount(const QModelIndex &parent = QModelIndex()) const override;
Q_SIGNALS:
void encryptEnabled(bool enabled);
void signEnabled(bool enabled);
void autoDisplayEnabled(bool enabled);
void attachUrlsRequested(const QList<QUrl> &urls);
void attachItemsRequester(const Akonadi::Item::List &);
void attachmentRemoved(MessageCore::AttachmentPart::Ptr part);
void attachmentCompressRequested(MessageCore::AttachmentPart::Ptr part, bool compress);
private:
class Private;
friend class Private;
Private *const d;
};
} //
#endif // KMAIL_ATTACHMENTMODEL_H
|