[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: [libkdepim/Applications/16.08] src/addressline/addresslineedit: Workaround when we dnd email from vi
From: Montel Laurent <montel () kde ! org>
Date: 2016-09-30 21:38:22
Message-ID: E1bq5Ve-0003Yu-3e () code ! kde ! org
[Download RAW message or body]
Git commit d2290646a9f095ef7aa67daed232e02dc87f20f0 by Montel Laurent.
Committed on 30/09/2016 at 21:38.
Pushed by mlaurent into branch 'Applications/16.08'.
Workaround when we dnd email from viewer
M +14 -5 src/addressline/addresslineedit/addresseelineedit.cpp
http://commits.kde.org/libkdepim/d2290646a9f095ef7aa67daed232e02dc87f20f0
diff --git a/src/addressline/addresslineedit/addresseelineedit.cpp b/src/addressline/addresslineedit/addresseelineedit.cpp
index 2a7fab8..9ce0947 100644
--- a/src/addressline/addresslineedit/addresseelineedit.cpp
+++ b/src/addressline/addresslineedit/addresseelineedit.cpp
@@ -312,7 +312,6 @@ void AddresseeLineEdit::mouseReleaseEvent(QMouseEvent *event)
void AddresseeLineEdit::dropEvent(QDropEvent *event)
{
const QMimeData *md = event->mimeData();
-
// Case one: The user dropped a text/directory (i.e. vcard), so decode its
// contents
if (KContacts::VCardDrag::canDecode(md)) {
@@ -415,12 +414,22 @@ void AddresseeLineEdit::dropEvent(QDropEvent *event)
}
} else {
// Let's see if this drop contains a comma separated list of emails
- const QMimeData *mimeData = event->mimeData();
- if (mimeData->hasText()) {
- const QString dropData = mimeData->text();
+ if (md->hasText()) {
+ const QString dropData = md->text();
const QStringList addrs = KEmailAddress::splitAddressList(dropData);
if (!addrs.isEmpty()) {
- setText(KEmailAddress::normalizeAddressesAndDecodeIdn(dropData));
+ if (addrs.count() == 1) {
+ QUrl url(dropData);
+ if (url.scheme() == QLatin1String("mailto")) {
+ KContacts::Addressee addressee;
+ addressee.insertEmail(KEmailAddress::decodeMailtoUrl(url), true /* preferred */);
+ insertEmails(addressee.emails());
+ } else {
+ setText(KEmailAddress::normalizeAddressesAndDecodeIdn(dropData));
+ }
+ } else {
+ setText(KEmailAddress::normalizeAddressesAndDecodeIdn(dropData));
+ }
setModified(true);
return;
}
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic