[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: [kdepim-addons/Applications/17.08] plugins/messageviewerplugins/createtodoplugin: Reduce duplicate c
From: Montel Laurent <null () kde ! org>
Date: 2017-08-18 6:04:26
Message-ID: E1diaOQ-0004sB-HY () code ! kde ! org
[Download RAW message or body]
Git commit 9b5fdb4a85a2a2e6a2edfce9574f31caaefdbd97 by Montel Laurent.
Committed on 18/08/2017 at 06:04.
Pushed by mlaurent into branch 'Applications/17.08'.
Reduce duplicate code
M +22 -15 plugins/messageviewerplugins/createtodoplugin/todoedit.cpp
M +1 -0 plugins/messageviewerplugins/createtodoplugin/todoedit.h
https://commits.kde.org/kdepim-addons/9b5fdb4a85a2a2e6a2edfce9574f31caaefdbd97
diff --git a/plugins/messageviewerplugins/createtodoplugin/todoedit.cpp \
b/plugins/messageviewerplugins/createtodoplugin/todoedit.cpp index a1b7ff82..26dddc04 \
100644
--- a/plugins/messageviewerplugins/createtodoplugin/todoedit.cpp
+++ b/plugins/messageviewerplugins/createtodoplugin/todoedit.cpp
@@ -248,8 +248,7 @@ void TodoEdit::slotReturnPressed()
if (!mNoteEdit->text().trimmed().isEmpty()) {
mMsgWidget->setText(i18nc("%1 is summary of the todo, %2 is name of the \
folder in which it is stored",
"New todo '%1' was added to task list '%2'", \
mNoteEdit->text(), collection.displayName()));
- KCalCore::Todo::Ptr todo(new KCalCore::Todo);
- todo->setSummary(mNoteEdit->text());
+ KCalCore::Todo::Ptr todo = createTodoItem();
mNoteEdit->clear();
// We don't hide the widget here, so that multiple todo's can be added
@@ -259,6 +258,20 @@ void TodoEdit::slotReturnPressed()
}
}
+KCalCore::Todo::Ptr TodoEdit::createTodoItem()
+{
+ KCalCore::Todo::Ptr todo(new KCalCore::Todo);
+ todo->setSummary(mNoteEdit->text());
+ KCalCore::Attachment::Ptr attachment(new \
KCalCore::Attachment(mMessage->encodedContent().toBase64(), \
KMime::Message::mimeType())); + const KMime::Headers::Subject *const subject = \
mMessage->subject(false); + if (subject) {
+ attachment->setLabel(subject->asUnicodeString());
+ }
+
+ todo->addAttachment(attachment);
+ return todo;
+}
+
bool TodoEdit::eventFilter(QObject *object, QEvent *e)
{
// Close the bar when pressing Escape.
@@ -290,21 +303,15 @@ bool TodoEdit::eventFilter(QObject *object, QEvent *e)
void TodoEdit::slotOpenEditor()
{
- QTemporaryFile tf;
- tf.setAutoRemove(false);
- tf.open();
- tf.write(mMessage->encodedContent());
- tf.close();
+ KCalCore::Todo::Ptr event = createTodoItem();
- const KMime::Headers::Subject *const subject = mMessage->subject(false);
- IncidenceEditorNG::IncidenceDialog *dlg = \
IncidenceEditorNG::IncidenceDialogFactory::createTodoEditor(
- mNoteEdit->text(), QString(),
- QStringList() << tf.fileName(),
- QStringList(), // attendees
- QStringList() << KMime::Message::mimeType(),
- QStringList() << (subject ? subject->asUnicodeString() : QString()),
- true, mCollection, true, this);
+ Akonadi::Item item;
+ item.setPayload<KCalCore::Todo::Ptr>(event);
+ item.setMimeType(KCalCore::Todo::todoMimeType());
+
+ IncidenceEditorNG::IncidenceDialog *dlg = \
IncidenceEditorNG::IncidenceDialogFactory::create(true, \
KCalCore::IncidenceBase::TypeTodo, nullptr, this);
connect(dlg, &IncidenceEditorNG::IncidenceDialog::finished, this, \
&TodoEdit::slotCloseWidget); + dlg->load(item);
dlg->open();
}
diff --git a/plugins/messageviewerplugins/createtodoplugin/todoedit.h \
b/plugins/messageviewerplugins/createtodoplugin/todoedit.h index 381442cf..0e5abeed \
100644
--- a/plugins/messageviewerplugins/createtodoplugin/todoedit.h
+++ b/plugins/messageviewerplugins/createtodoplugin/todoedit.h
@@ -61,6 +61,7 @@ Q_SIGNALS:
protected:
bool eventFilter(QObject *object, QEvent *e) override;
private:
+ KCalCore::Todo::Ptr createTodoItem();
void comboboxRowInserted();
void slotReturnPressed();
void slotCollectionChanged(int);
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic