continue to implement undosave

wilder
Laurent Montel 6 years ago
parent 42a059661f
commit 4069acb058
  1. 2
      CMakeLists.txt
  2. 19
      src/editor/kmcomposerwin.cpp
  3. 2
      src/editor/kmcomposerwin.h

@ -67,7 +67,7 @@ find_package(Qt5 ${QT_REQUIRED_VERSION} CONFIG REQUIRED DBus Network Test Widget
set(LIBGRAVATAR_VERSION_LIB "5.12.40")
set(MAILCOMMON_LIB_VERSION_LIB "5.12.46")
set(KDEPIM_APPS_LIB_VERSION_LIB "5.12.41")
set(MESSAGELIB_LIB_VERSION_LIB "5.12.63")
set(MESSAGELIB_LIB_VERSION_LIB "5.12.68")
set(LIBKLEO_LIB_VERSION_LIB "5.12.40")
set(PIMCOMMON_LIB_VERSION_LIB "5.12.41")
set(LIBKDEPIM_LIB_VERSION_LIB "5.12.40")

@ -1876,8 +1876,11 @@ void KMComposerWin::slotSendFailed(const QString &msg, MessageComposer::Composer
}
}
void KMComposerWin::slotSendSuccessful()
void KMComposerWin::slotSendSuccessful(Akonadi::Item::Id id)
{
if (id != -1) {
//TODO send later info
}
setModified(false);
mComposerBase->cleanupAutoSave();
mFolder = Akonadi::Collection(); // see dtor
@ -2540,6 +2543,20 @@ void KMComposerWin::doSend(MessageComposer::MessageSender::SendMethod method, Me
if (!MessageComposer::Util::sendMailDispatcherIsOnline()) {
method = MessageComposer::MessageSender::SendLater;
}
if (KMailSettings::self()->enabledUndoSend()) {
mComposerBase->setSendLaterInfo(nullptr);
const bool wasRegistered = sendLaterRegistered();
if (wasRegistered) {
SendLater::SendLaterInfo *info = new SendLater::SendLaterInfo;
info->setRecurrence(false);
info->setSubject(subject());
info->setDateTime(QDateTime::currentDateTime().addSecs(KMailSettings::self()->undoSendDelay()));
mComposerBase->setSendLaterInfo(info);
}
method = MessageComposer::MessageSender::SendLater;
willSendItWithoutReediting = true;
saveIn == MessageComposer::MessageSender::SaveInOutbox;
}
}
if (saveIn == MessageComposer::MessageSender::SaveInNone || willSendItWithoutReediting) { // don't save as draft or template, send immediately

@ -358,7 +358,7 @@ private Q_SLOTS:
void slotPrintComposeResult(KJob *job);
void slotSendFailed(const QString &msg, MessageComposer::ComposerViewBase::FailedType type);
void slotSendSuccessful();
void slotSendSuccessful(Akonadi::Item::Id id);
/**
* toggle automatic spellchecking

Loading…
Cancel
Save