summaryrefslogtreecommitdiffstats
path: root/framework/src/domain/composercontroller.cpp
diff options
context:
space:
mode:
authorChristian Mollekopf <chrigi_1@fastmail.fm>2017-06-14 17:24:07 +0200
committerChristian Mollekopf <chrigi_1@fastmail.fm>2017-06-14 17:24:07 +0200
commitd7b40aeb125ece23bf2f039f4bb938f5cd010896 (patch)
tree6b7fbd67d772f4f8bd6c3b826ccb4fd8d00b7f18 /framework/src/domain/composercontroller.cpp
parent86cbba1d765f27845d3f332cec60222e862b502c (diff)
downloadkube-d7b40aeb125ece23bf2f039f4bb938f5cd010896.tar.gz
kube-d7b40aeb125ece23bf2f039f4bb938f5cd010896.zip
Attachment removal
We'd rather do something via the model index instead of requering an additional role, but this works for the time being.
Diffstat (limited to 'framework/src/domain/composercontroller.cpp')
-rw-r--r--framework/src/domain/composercontroller.cpp15
1 files changed, 14 insertions, 1 deletions
diff --git a/framework/src/domain/composercontroller.cpp b/framework/src/domain/composercontroller.cpp
index 31cb896d..9e006af4 100644
--- a/framework/src/domain/composercontroller.cpp
+++ b/framework/src/domain/composercontroller.cpp
@@ -97,6 +97,7 @@ ComposerController::ComposerController()
97 {MimeTypeRole, "mimetype"}, 97 {MimeTypeRole, "mimetype"},
98 {DescriptionRole, "description"}, 98 {DescriptionRole, "description"},
99 {IconNameRole, "iconName"}, 99 {IconNameRole, "iconName"},
100 {UrlRole, "url"},
100 {InlineRole, "inline"}}); 101 {InlineRole, "inline"}});
101 updateSaveAsDraftAction(); 102 updateSaveAsDraftAction();
102 // mSendAction->monitorProperty<To>(); 103 // mSendAction->monitorProperty<To>();
@@ -218,13 +219,25 @@ void ComposerController::addAttachment(const QUrl &url)
218 item->setData(fileInfo.fileName(), FilenameRole); 219 item->setData(fileInfo.fileName(), FilenameRole);
219 item->setData(false, InlineRole); 220 item->setData(false, InlineRole);
220 item->setData(mimeType.iconName(), IconNameRole); 221 item->setData(mimeType.iconName(), IconNameRole);
222 item->setData(url, UrlRole);
221 item->setData(data, ContentRole); 223 item->setData(data, ContentRole);
222 mAttachmentModel->appendRow(item); 224 mAttachmentModel->appendRow(item);
223 } 225 }
224} 226}
225 227
226void ComposerController::removeAttachment(const QString &s) 228void ComposerController::removeAttachment(const QUrl &url)
227{ 229{
230 auto root = mAttachmentModel->invisibleRootItem();
231 if (root->hasChildren()) {
232 for (int row = 0; row < root->rowCount(); row++) {
233 auto item = root->child(row, 0);
234 const auto url = item->data(UrlRole).toUrl();
235 if (url == item->data(UrlRole).toUrl()) {
236 root->removeRow(row);
237 return;
238 }
239 }
240 }
228} 241}
229 242
230Completer *ComposerController::recipientCompleter() const 243Completer *ComposerController::recipientCompleter() const