Changeset View
Changeset View
Standalone View
Standalone View
src/messageactions.cpp
Show First 20 Lines • Show All 48 Lines • ▼ Show 20 Line(s) | |||||
49 | #include "kmail_debug.h" | 49 | #include "kmail_debug.h" | ||
50 | #include <KLocalizedString> | 50 | #include <KLocalizedString> | ||
51 | #include <KXMLGUIClient> | 51 | #include <KXMLGUIClient> | ||
52 | #include <KRun> | 52 | #include <KRun> | ||
53 | #include <QMenu> | 53 | #include <QMenu> | ||
54 | #include <KUriFilter> | 54 | #include <KUriFilter> | ||
55 | #include <KStringHandler> | 55 | #include <KStringHandler> | ||
56 | #include <QIcon> | 56 | #include <QIcon> | ||
57 | #include <QFileDialog> | ||||
57 | 58 | | |||
58 | #include <QVariant> | 59 | #include <QVariant> | ||
59 | #include <QWidget> | 60 | #include <QWidget> | ||
60 | #include <AkonadiCore/collection.h> | 61 | #include <AkonadiCore/collection.h> | ||
61 | #include <AkonadiCore/entityannotationsattribute.h> | 62 | #include <AkonadiCore/entityannotationsattribute.h> | ||
62 | #include <mailcommon/mailutil.h> | 63 | #include <mailcommon/mailutil.h> | ||
63 | 64 | | |||
64 | using namespace KMail; | 65 | using namespace KMail; | ||
▲ Show 20 Lines • Show All 133 Lines • ▼ Show 20 Line(s) | 70 | { | |||
198 | ac->addAction(QStringLiteral("send_again"), mSendAgainAction); | 199 | ac->addAction(QStringLiteral("send_again"), mSendAgainAction); | ||
199 | connect(mSendAgainAction, &QAction::triggered, this, &MessageActions::slotResendMessage); | 200 | connect(mSendAgainAction, &QAction::triggered, this, &MessageActions::slotResendMessage); | ||
200 | 201 | | |||
201 | mNewMessageFromTemplateAction = new QAction(QIcon::fromTheme(QStringLiteral("document-new")), i18n("New Message From &Template"), this); | 202 | mNewMessageFromTemplateAction = new QAction(QIcon::fromTheme(QStringLiteral("document-new")), i18n("New Message From &Template"), this); | ||
202 | ac->addAction(QStringLiteral("use_template"), mNewMessageFromTemplateAction); | 203 | ac->addAction(QStringLiteral("use_template"), mNewMessageFromTemplateAction); | ||
203 | connect(mNewMessageFromTemplateAction, &QAction::triggered, this, &MessageActions::slotUseTemplate); | 204 | connect(mNewMessageFromTemplateAction, &QAction::triggered, this, &MessageActions::slotUseTemplate); | ||
204 | ac->setDefaultShortcut(mNewMessageFromTemplateAction, QKeySequence(Qt::SHIFT + Qt::Key_N)); | 205 | ac->setDefaultShortcut(mNewMessageFromTemplateAction, QKeySequence(Qt::SHIFT + Qt::Key_N)); | ||
205 | 206 | | |||
207 | mExportToPdfAction = new QAction(QIcon::fromTheme(QStringLiteral("application-pdf")), i18n("Export to PDF..."), this); | ||||
208 | ac->addAction(QStringLiteral("file_export_pdf"), mExportToPdfAction); | ||||
209 | connect(mExportToPdfAction, &QAction::triggered, this, &MessageActions::slotExportToPdf); | ||||
210 | | ||||
206 | updateActions(); | 211 | updateActions(); | ||
207 | } | 212 | } | ||
208 | 213 | | |||
209 | MessageActions::~MessageActions() | 214 | MessageActions::~MessageActions() | ||
210 | { | 215 | { | ||
211 | delete mCustomTemplatesMenu; | 216 | delete mCustomTemplatesMenu; | ||
212 | } | 217 | } | ||
213 | 218 | | |||
▲ Show 20 Lines • Show All 541 Lines • ▼ Show 20 Line(s) | 758 | if (dlg->exec()) { | |||
755 | CreateFollowupReminderOnExistingMessageJob *job = new CreateFollowupReminderOnExistingMessageJob(this); | 760 | CreateFollowupReminderOnExistingMessageJob *job = new CreateFollowupReminderOnExistingMessageJob(this); | ||
756 | job->setDate(date); | 761 | job->setDate(date); | ||
757 | job->setCollection(dlg->collection()); | 762 | job->setCollection(dlg->collection()); | ||
758 | job->setMessageItem(mCurrentItem); | 763 | job->setMessageItem(mCurrentItem); | ||
759 | job->start(); | 764 | job->start(); | ||
760 | } | 765 | } | ||
761 | delete dlg; | 766 | delete dlg; | ||
762 | } | 767 | } | ||
768 | | ||||
769 | void MessageActions::slotExportToPdf() | ||||
770 | { | ||||
771 | if (!mCurrentItem.isValid()) { | ||||
772 | return; | ||||
773 | } | ||||
774 | | ||||
775 | auto email = mCurrentItem.payload<KMime::Message::Ptr>(); | ||||
776 | const QString fileName = QFileDialog::getSaveFileName(mParent, i18n("Export to PDF"), | ||||
mlaurent: Use "mParent" vs nullptr no ? | |||||
777 | QDir::homePath() + QLatin1Char('/') + email->subject()->asUnicodeString() + QStringLiteral(".pdf"), | ||||
778 | i18n("PDF document (*.pdf")); | ||||
yurchor: This should be i18n(), not QStringLiteral() as well. | |||||
779 | if (!fileName.isEmpty()) { | ||||
780 | mMessageView->viewer()->exportToPdf(fileName); | ||||
781 | } | ||||
782 | } |
Use "mParent" vs nullptr no ?