summaryrefslogtreecommitdiffstats
path: root/examples/qtmail
Commit message (Collapse)AuthorAgeFilesLines
* Remove SERVER_AS_DLLPekka Vuorela2024-04-012-81/+0
| | | | | | | | | I doubt this has been used anywhere in long time. Also for email client example it feels a bit strange. And there's was nothing setting it enabled on the example. Change-Id: I7a408ed490a84789000f2db8eebfa8324b493846 Reviewed-by: Matthew Vogt <matthew.vogt@qinetic.com.au>
* Remove cruft from some .pro files and remove pointless common.priPekka Vuorela2024-03-311-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | messageserver.pri not used anywhere. Neither PLUGIN_INTERNAL definition is no longer used anywhere. The common.pri isn't too good a common file as it's mostly included outside the src tree, only src/tools/messageserver uses it from the actual sources. Hence removing QMF_ENABLE_LOGGING shouldn't affect anything since it's used only in the libqmfclient for one thing. To use that properly one has needed the definition value passed externally. The win/mac special case release mode I didn't understand too well and neither did qtbase run_pro2cmake.py I was testing to proceed with cmake build. Unsure was that CONFIG_WIN working even in qt5 or was that some earlier thing. The mac bundle would have been used only for unit tests and such, so feels pointless. As neither target now even works because of d-bus ipc, let's just remove this part. Removing these makes the common.pri even more pointless so just moved the INSTALL=target to few places that were using the common.pri Change-Id: Ibfe6da554e0d452e09d08e184e22508c1af958e0 Reviewed-by: Damien Caliste <dcaliste@free.fr> Reviewed-by: Christopher Adams <chris.adams@qinetic.com.au>
* Add QMailMessage::CalendarCancellation flagDavid Llewellyn-Jones2023-11-151-0/+1
| | | | | | | | | | | | | | | | | | | | | | Introduces a CalendarCancellation flag similar to the QMailMessage::CalendarInvitation to be matched against the QMailMessage::status() bitfield. While the CalendarInvitation flag indicates that the message contains an attachment of type text/calendar with "REQUEST" method, the CalendarCancellation flag indicates that there's an attachment of type text/calendar with "CANCEL" method type. In other words, a calendar event cancellation. For reference, the "CANCEL" method of the Content Type header is described in RFC2447 (iMIP) Section 2.4 [1] in combination with the RFC2446 (iTIP) sections 3.2 and 3.2.5 [2] [1] https://tools.ietf.org/html/rfc2447#section-2.4 [2] https://tools.ietf.org/html/rfc2446#section-3.2 Change-Id: I1ef1d8a070e527552dae1ebe1677156bc07ba04d Reviewed-by: Matthew Vogt <matthew.vogt@qinetic.com.au>
* Use QmfList where required to maintain stable referencesChris Adams2021-04-082-3/+4
| | | | | | | | | | Any case where the address of an element is taken and stored or used, must be changed to use QmfList instead of QList, otherwise non-const operations will cause the reference to become invalid. Change-Id: Ic0017cb9eddcf27b93d26adb3ea9c71682c4421b Reviewed-by: Christopher Adams <chris.adams@jolla.com> Reviewed-by: David Llewellyn-Jones <david.llewellyn-jones@jolla.com>
* Replace deprecated qSort/qLowerBound/qGreater with std methodsPekka Vuorela2018-08-161-1/+1
| | | | | Change-Id: Ia3913b998f3686d6f047d02d8781a7297b018bbd Reviewed-by: Christopher Adams <chris.adams@jollamobile.com>
* Fix installation of examplesChris Adams2018-07-191-3/+2
| | | | | | Change-Id: I7aacfd91f7ec77dc50026820dd4379a4e42c5d53 Reviewed-by: Matthew Vogt <matthew.vogt@qinetic.com.au> Reviewed-by: Christopher Adams <chris.adams@jollamobile.com>
* Compile with GCC 6 -Werror=zero-as-null-pointer-constantChris Adams2018-07-1927-38/+38
| | | | | Change-Id: I67eb29e13c5e643ee2f58a0696400e085999c01c Reviewed-by: Matthew Vogt <matthew.vogt@qinetic.com.au>
* qtmail: Don't export some classes that are only used inside the example.Robin Burchell2015-08-282-4/+4
| | | | | | | | | | These were previously part of the libraries, but removed to be example-only in daa2a0ad8092b3552db8a81a1d076b5a9de84d61. This fixes yet another Windows build failure. Change-Id: I2449b08ecd5d286c088dab88b368019a91a03a2b Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* qtmail: Turn a #warning into a comment.Robin Burchell2015-08-281-1/+1
| | | | | | | MSVC doesn't like #warning apparently. Change-Id: Ia3f04765c5c34a5325784e7fd7890d8f5542ae8f Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* plugins: Remove PLUGIN_EXPORT macro.Robin Burchell2015-08-281-1/+1
| | | | | | | This may have been contributing to Windows build breakage. Change-Id: If730e884e10dd41ff18ff15abe16d781c20bdc63 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* Add QT_{BEGIN,END}_NAMESPACE macros to build successfully with namespaced Qt.Robin Burchell2015-08-282-0/+10
| | | | | Change-Id: Iac431ae2d56c2b9fd419651e6cb28c455db55259 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* Update licensing to match latest approach in QtCore.Robin Burchell2015-08-2839-859/+547
| | | | | Change-Id: Icce55517963f0cbc35211e9fc6f1a0fc413f5676 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* Remove linkage against private headers from qtmail example.Robin Burchell2014-02-042-3/+1
| | | | | Change-Id: I00f457f54746b4e32ca60ae6c6d31ca34934f67d Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
* Restore compilation of qtmail example.Robin Burchell2014-02-03100-63/+59
| | | | | Change-Id: Id59253e1d121ab0dfcdb59f7018b897f6c1df086 Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
* Make URL opening function in a cross-platform world.Robin Burchell2014-01-281-7/+2
| | | | | | Change-Id: I7f4bee6fccf1e2a805cc7e9899ae16a6e15caa8d Reviewed-by: Valerio Valerio <valerio.valerio@jollamobile.com> Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
* Remove obsolete Qtopia-related bits from qtmail.Robin Burchell2014-01-271-34/+1
| | | | | Change-Id: I021570bce26529adfbfb4080b18b87df74bc2c18 Reviewed-by: Matthew Vogt <matthew.vogt@qinetic.com.au>
* Remove stray QDebug.Robin Burchell2014-01-241-1/+0
| | | | | Change-Id: If27729ee3fd511226a31ae096f52e130e14d8065 Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
* Remove composer & viewer plugins, move them entirely to QtMail.Robin Burchell2014-01-2462-14591/+15225
| | | | | | | | | | | | | | | | | These may have made some sense back when QMF was part of Qtopia (a messaging system customizable for each platform and offering extensible message types), but it makes a lot less sense in the sense of a library offering email-related functionality. This type of functionality belongs in the clients, not in the library, so move it there. This has been performed through a fairly quick hatchet job. It isn't really clean, working code yet, but it is operational. Change-Id: Ic417a5e885034b67b645df238febb30cda88b17c Reviewed-by: Matthew Vogt <matthew.vogt@qinetic.com.au> Reviewed-by: Valerio Valerio <valerio.valerio@jollamobile.com>
* Make qmfutil a Qt module: QmfWidgets.Robin Burchell2014-01-2345-5793/+4
| | | | | | | | | | I'm not totally clear how useful this thing actually is, but instead of bastardising it across a few examples/projects, let's promote it to a module and avoid that black magic. Change-Id: I4d34961bc30e01455274afdd344286f4e5cfd25a Reviewed-by: Matthew Vogt <matthew.vogt@qinetic.com.au> Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
* Convert qmfclient & qmfmessageserver into Qt modules: QmfClient & ↵Robin Burchell2014-01-237-54/+25
| | | | | | | | | | | | | | | | | | | | | QmfMessageServer. This was not possible prior to now due to Qt 4 support hanging around like the undead vampire it is, but now we purged it with fire and light, and the build system looks a lot less like a stinky, decomposed corpse. There's still a lot of surprises lurking: qtmail is one such surprise. I don't quite grasp why it's so heavy on plugins, and qmfutil also needs some... attention. But at least it's a start. As part of this work, we rename the qcop headers to fit the private convention. This could have been done in a prior commit, but given that I didn't have an easy way to build prior to this commit, I opted to roll them together. Change-Id: Ia3e288ffc3639a7751c9040ceecb54fca77a31b1 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Matthew Vogt <matthew.vogt@qinetic.com.au> Reviewed-by: Valerio Valerio <valerio.valerio@jollamobile.com>
* Remove Qt 4 support.Robin Burchell2014-01-2110-129/+43
| | | | | | | | | | | This has persisted long enough, and as far as I am aware, has no users. It is also blocking potential build system cleanups and other good things. Reviewed-by: Valerio Valerio <valerio.valerio@jollamobile.com> Reviewed-by: Matthew Vogt <matthew.vogt@qinetic.com.au> Change-Id: I5e0e0549ef6ffee31b5e60ec94a9e17f27e01436 Reviewed-by: John Brooks <john.brooks@dereferenced.net> Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
* Correctly start messageserver5 binary.Robin Burchell2014-01-201-2/+2
| | | | | Change-Id: I7eb742fc60884881714911e76ea6de6ef4939ca4 Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
* Detection of libraries built as framework or dylib on MacTakahiro Hashimoto2014-01-174-8/+41
| | | | | | | | | | This makes build system detect if Qt libraries are built as framework or not and add correct flags to LIBS. Change-Id: Ifb0d2ed87f5d624966395bce39959ce53f1dee89 Reviewed-by: Valerio Valerio <valerio.valerio@jollamobile.com> Reviewed-by: Tasuku Suzuki <stasuku@gmail.com> Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
* Rework the build system to better use parallel builds.4.0.3Robin Burchell2013-08-071-0/+23
| | | | | | | | | | Instead of having one gigantic master .pro, split things out into multiple SUBDIRS templates. This allows for slightly better grained build dependencies without losing the sanity of a clearly understandable build system. Change-Id: Ib09cd6170bcf8be55a1b351731f9a6451bb82d27 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Matthew Vogt <matthew.vogt@qinetic.com.au>
* Fix QMF with Qt 5.1+4.0.1Robin Burchell2013-06-122-9/+1
| | | | | | | | | | | Q_GLOBAL_STATIC changed implementation. To make life easy, just make the constructor public, and stop trying to use Q_GLOBAL_STATIC in a rather unsupported way. Change-Id: I7c6b13534c1a32db643574a9814b73ce0e0b22cf Reviewed-by: Valerio Valerio <valerio.valerio@jollamobile.com> Reviewed-by: John Brooks <john.brooks@dereferenced.net> Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
* Make sure plugins are linked against correct Qt version of the qmf libs.Valerio Valerio2013-04-303-4/+16
| | | | | | | | Signed-off-by: Valerio Valerio <valerio.valerio@jollamobile.com> Change-Id: I965b6f890c883e82e946f008501d0bdc669c9a2b Reviewed-by: Matthew Vogt <matthew.vogt@qinetic.com.au> Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
* Allow parallel installation of qt4 and qt5 buildsValerio Valerio2013-04-264-15/+26
| | | | | | | | Signed-off-by: Valerio Valerio <valerio.valerio@jollamobile.com> Change-Id: I2c03d287fc871098cf45d75d4a1262b9c6c4378d Reviewed-by: Robin Burchell <robin+qt@viroteck.net> Reviewed-by: Matthew Vogt <matthew.vogt@qinetic.com.au>
* Update Qt 5 port to match latest releaseValerio Valerio2013-04-1917-28/+44
| | | | | | | | Update code base to match latest release of Qt. Signed-off-by: Valerio Valerio <valerio.valerio@jollamobile.com> Change-Id: I02c2ff250ea8cd960938b81903e92b04c745ae9c Reviewed-by: Matthew Vogt <matthew.vogt@qinetic.com.au> Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
* Remove Symbian support.Robin Burchell2013-02-287-67/+0
| | | | | | | | Symbian is not a supported platform anymore. Change-Id: I82e618e756ae0b247e6e038fa9d8d43fb90b44ff Reviewed-by: Valerio Valerio <valerio.valerio@jollamobile.com> Reviewed-by: Matthew Vogt <matthew.vogt@qinetic.com.au>
* Change to new-form Digia license headers.Robin Burchell2013-02-1253-1273/+1273
| | | | | Change-Id: If0f4427ee93a37de4ebd9e097defd8b3956f0fc6 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* s/Nokia/QtProject/ in settings files.Robin Burchell2012-12-053-7/+7
| | | | | | | | | | minor, but matches the changes made in Qt 5, and reflects that Nokia is no longer the vendor of this software. Change-Id: I3b324b813359f53e65760f3ce7a751dbd5c970e7 Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com> Reviewed-by: Johan Thelin <johan.thelin@pelagicore.com> Reviewed-by: Valerio Valerio <vdv100@gmail.com>
* More robust sending code in qtmail example.Don Sanders2012-06-081-1/+2
| | | | | | | | | | | | Handle case of IMAP server supporing GENAUTHURL and SMTP server supporting BURL, and user defining Sent folder on server (or autodetection), then deleting that folder on the server. Don't try to upload message to non-existent sent folder. Probably could still be handled better, CanTransmitFromExternal shouldn't really be used as a message flag, but should instead be computed on demand.
* Implement viewing of plain text message parts using webkit.Don Sanders2012-05-311-7/+6
| | | | In qtmail example, Useful for debugging.
* Replace uses of qDebug with qMailLog.Don Sanders2012-04-204-4/+1
| | | | | | | | | | | | | | As qDebug shouldn't be used in release code, and may become deprecated. There's still some uses of qDebug left, namely, some automated tests that actually test qDebug/qMailLog functionality, some uses of qDebug in uncompiled documentation code snippet examples, one use of include QDebug in symbian code, and in qmailid some uses of defining operator<<(QDebug <<, ...). There's still about 500 uses of qWarning and qFatal left. For these I include qmaillog.h as currently that inclues QDebug. Apart from the one symbian case already mention.
* More qt 5 fixes.Don Sanders2012-03-121-0/+6
|
* Build fixes for Qt5 and remove some spurious DEPENDS_ON macrosDon Sanders2012-03-125-1/+10
| | | | | | as they do nothing. Thanks to Valerio for the patch.
* For new push enabled folders retrieve at least ↵Don Sanders2012-03-021-5/+2
| | | | | | QMailRetrievalAction::defaultMinimum() mails. Previously only 1 mail could be retrieved.
* Add service action to find and create standard folders.Valerio Valerio2012-01-272-0/+21
| | | | | | | | | | | | void QMailRetrievalAction::createStandardFolders(const QMailAccountId &accountId) Requests that the message server create the standard folders for the account accountId. If all standard folders are already set in the storage the service action will return success immediately, in case some standard folders are not set, a matching attempt against a predefined list of translations will be made, if the folders can't be matched, messageserver will try to create them in the server side and match them if the creation is successful. In case folder creation is not allowed for the account accountId the service action will return.
* Update plugins and doc paths.Don Sanders2012-01-132-2/+2
| | | | | | | | | | Code is from MeeGo: fix_plugins_installation.patch fix_docs_installation.patch Docs patch not yet fully applied. Also update plugin path documentation in messaging.qdoc.
* Fix qtmail bug in editing message in drafts folder on serverDon Sanders2012-01-121-1/+6
| | | | | | | | | | | | | Updated message should now be saved to drafts folder on server. This required deleting old message, and saving a new message. Which has some side effects. #1 On gmail deleted messages are copied to the trash automatically. #2 In qtmail if multiple qmf accounts exist for the same remote account then updating a drafts in one qmf account and then viewing the other account will detect that the original drafts message has been removed due to qtmail automatic visible message flags updating, and the new message will not be retrieved until a synchronization is performed.
* Add disconnected storage actions, for actions requiring database writes.2012W02Don Sanders2012-01-101-2/+3
| | | | | | | | | | | | | | | | | | | | | | | Specifically, as documented in src/libraries/qmfclient/CHANGES.qdoc item 52, added: 'void QMailStorageAction::deleteMessages(quint64, const QMailMessageIdList &ids)', 'void QMailStorageAction::rollBackUpdates(quint64, const QMailAccountId &mailAccountId)', 'void QMailStorageAction::moveToStandardFolder(quint64, const QMailMessageIdList& ids, QMailFolder::StandardFolder standardFolder)', 'void QMailStorageAction::moveToFolder(quint64, const QMailMessageIdList& ids, const QMailFolderId& folderId)', 'void QMailStorageAction::flagMessages(quint64, const QMailMessageIdList& ids, quint64 setMask, quint64 unsetMask)', 'void QMailStorageAction::restoreToPreviousFolder(quint64, const QMailMessageKey& key)', 'void QMailMessageServer::deleteMessages(quint64, const QMailMessageIdList &ids)', 'void QMailMessageServer::rollBackUpdates(quint64, const QMailAccountId &mailAccountId)', 'void QMailMessageServer::moveToStandardFolder(quint64, const QMailMessageIdList& ids, quint64 standardFolder)', 'void QMailMessageServer::moveToFolder(quint64, const QMailMessageIdList& ids, const QMailFolderId& folderId)', 'void QMailMessageServer::flagMessages(quint64, const QMailMessageIdList& ids, quint64 setMask, quint64 unsetMask)' and 'void QMailMessageServer::restoreToPreviousFolder(quint64, const QMailMessageKey& key)'. Also added documentation for new functions, and made some minor documentation updates for existing functions. Additionally added a new set of module tests tst_qmailstorageaction. These tests require the messageserver to be running. They are not just stubs but do real testing.
* Rename some QMailStorageAction functions to indicate they require the device ↵2012W01_1Don Sanders2012-01-051-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | to be online. Specifically: Renamed 'void QMailStorageAction::deleteMessages(const QMailMessageIdList &ids)' to onlineDeleteMessages, 'void QMailStorageAction::copyMessages(const QMailMessageIdList &ids, const QMailFolderId &destinationId)' to onlineCopyMessages, 'void QMailStorageAction::moveMessages(const QMailMessageIdList &ids, const QMailFolderId &destinationId)' to onlineMoveMessages, 'void QMailStorageAction::flagMessages(const QMailMessageIdList &ids, quint64 setMask, quint64 unsetMask)' to onlineFlagMessages, 'void QMailStorageAction::createFolder(const QString &name, const QMailAccountId &accountId, const QMailFolderId &parentId)' to onlineCreateFolder, 'void QMailStorageAction::renameFolder(const QMailFolderId &folderId, const QString &name)' to onlineRenameFolder, 'void QMailStorageAction::deleteFolder(const QMailFolderId &folderId)' to onlineDeleteFolder. 'void QMailMessageServer::deleteMessages(const QMailMessageIdList &ids)' to onlineDeleteMessages, 'void QMailMessageServer::copyMessages(const QMailMessageIdList &ids, const QMailFolderId &destinationId)' to onlineCopyMessages, 'void QMailMessageServer::moveMessages(const QMailMessageIdList &ids, const QMailFolderId &destinationId)' to onlineMoveMessages, 'void QMailMessageServer::flagMessages(const QMailMessageIdList &ids, quint64 setMask, quint64 unsetMask)' to onlineFlagMessages, 'void QMailMessageServer::createFolder(const QString &name, const QMailAccountId &accountId, const QMailFolderId &parentId)' to onlineCreateFolder, 'void QMailMessageServer::renameFolder(const QMailFolderId &folderId, const QString &name)' to onlineRenameFolder, 'void QMailMessageServer::deleteFolder(const QMailFolderId &folderId)' to onlineDeleteFolder. Additionally updated the doc to fix some assorted discrepancies, and indicate which functions require the device to be online. Have not yet regenerated the html version of the doc.
* BIC: Fix a bug in data associated with QMailMessageMetaData::recipientsDon Sanders2011-12-301-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Patch from Edit Siket-Szasz. QMailMessageMetaData::recipients only contained to recipients, whereas it should also contain cc and bcc recipients, and should do so after this commit is made. This change will appropriately update the data stored in the recipients row of the mailmessages table in the qmailstore.db database for new mails, but no retroactive changes will be made. Hence the behavior of the QMailMessageKey::recipients functions will be modified, and should now be correct. The following API changes have been made as documented in the qmfclient library CHANGES file. 49. Added QList<QMailAddress> QMailMessage::to() const virtual QList<QMailAddress> QMailMessageMetaData::recipients() const protected: virtual void QMailMessageMetaData::setRecipients(const QList<QMailAddress>& s); virtual void QMailMessageMetaData::setRecipients(const QMailAddress& s); Removed QList<QMailAddress> QMailMessageMetaData::to() const void QMailMessageMetaData::setTo(const QList<QMailAddress>& s); void QMailMessageMetaData::setTo(const QMailAddress& s); This change is BIC (a binary incompatible change).
* Fix Qt::escape that is deprecated in Qt 5.0 use QString::toHtmlEscaped() insteadValerio Valerio2011-11-021-16/+26
|
* Fix broken logic for enabling FWOD.Don Sanders2011-11-021-1/+2
| | | | | | | | | Both QMailAccount::CanReferenceExternalData and QMailAccount::CanTransmitViaReference should be true. In reality not a problem in qtmail example due to additional checks, but qtmail code is used as an example by others so good to get it right here.
* Update license headers (make them consistent with harmattan qmf)Don Sanders2011-08-0753-902/+902
| | | | Remove obsolete pre-release clause.
* Avoid loop in qtmail UI.Don Sanders2011-06-241-1/+0
|
* Fix regressions in qtmail.experimentalDon Sanders2011-06-221-4/+2
| | | | Due to serviceactions changes.
* Fix style issues.Don Sanders2011-06-021-3/+3
|
* Qtmail fix, safer sending with service actions.Don Sanders2011-06-022-1/+17
| | | | | | | Don't lose mail if messageserver crashes or is not running while queueing mail in outbox. Catch failure and save to outbox using qmailstore.