diff options
Diffstat (limited to 'extra/kdepim')
-rw-r--r-- | extra/kdepim/PKGBUILD | 17 | ||||
-rw-r--r-- | extra/kdepim/fix-completion.patch | 182 |
2 files changed, 5 insertions, 194 deletions
diff --git a/extra/kdepim/PKGBUILD b/extra/kdepim/PKGBUILD index 04f285b3e..898dbc24e 100644 --- a/extra/kdepim/PKGBUILD +++ b/extra/kdepim/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 182386 2013-04-09 20:40:43Z andrea $ +# $Id: PKGBUILD 184967 2013-05-09 09:45:11Z andrea $ # Maintainer: Andrea Scarpino <andrea@archlinux.org> # Contributor: Pierre Schmitz <pierre@archlinux.de> @@ -20,25 +20,18 @@ pkgname=('kdepim-akonadiconsole' 'kdepim-ktimetracker' 'kdepim-ktnef' 'kdepim-libkdepim') -pkgver=4.10.2 -pkgrel=2 +pkgver=4.10.3 +pkgrel=1 arch=('i686' 'x86_64') url='http://pim.kde.org' license=('GPL' 'LGPL' 'FDL') groups=('kde' 'kdepim') makedepends=('cmake' 'automoc4' 'boost' 'kdepim-runtime' 'libxss' 'pilot-link' 'kde-agent' 'nepomuk-widgets') -source=("http://download.kde.org/stable/${pkgver}/src/${pkgbase}-${pkgver}.tar.xz" - "kleopatra-build-fix.patch::http://bugsfiles.kde.org/attachment.cgi?id=78592" - 'fix-completion.patch') -sha1sums=('61b74cb3bf541040e09252d4dcfaea8a876a2859' - '61a7e31e7daee3358c442d3ac5f74171b45ae2c9' - '92a44c7b1697de519b09265a3b68e7d73d4c024e') + source=("http://download.kde.org/stable/${pkgver}/src/${pkgbase}-${pkgver}.tar.xz") +sha1sums=('78ca9b822f905355ec00142a7de6c08c38b97c08') build() { - patch -Np1 -d ${pkgbase}-${pkgver} < ${srcdir}/kleopatra-build-fix.patch - patch -Np1 -d ${pkgbase}-${pkgver} < ${srcdir}/fix-completion.patch - mkdir build cd build cmake ../${pkgbase}-${pkgver} \ diff --git a/extra/kdepim/fix-completion.patch b/extra/kdepim/fix-completion.patch deleted file mode 100644 index c2edefe00..000000000 --- a/extra/kdepim/fix-completion.patch +++ /dev/null @@ -1,182 +0,0 @@ -commit 6a06c57f52a00018d607085efa7570deb91dc707 -Author: David Faure <faure@kde.org> -Date: Mon Apr 8 17:41:39 2013 +0200 - - Fix kmail autocompletion from akonadi. - - My commit 02f5f0214e made autocompletion from nepomuk work better, but broke - completion from akonadi. I kept the "keywords" based code, but now it's only - used for the special case of nickname-based search (because the nickname shouldn't - appear in the completion item). For everything else it really doesn't make sense - to have a search engine (akonadi/nepomuk) on top of a search engine - (the one inside KCompletion). - - This time I verified that: - * nepomuk search still works - * contacts from akonadi work again - * contact groups from akonadi work (after previous commit) - * nickname-search in akonadi still doesn't work, but it didn't before. More work - needed for that one. This is the only reason to keep KMailCompletion around btw, - everything else would work without it. - - BUG: 259949 - FIXED-IN: 4.10.3 - -diff --git a/libkdepim/addresseelineedit.cpp b/libkdepim/addresseelineedit.cpp -index b7b11be..ec4caf9 100644 ---- a/libkdepim/addresseelineedit.cpp -+++ b/libkdepim/addresseelineedit.cpp -@@ -30,6 +30,8 @@ - #include "completionordereditor.h" - #endif - -+#include "kmailcompletion.h" -+ - #include <Akonadi/Contact/ContactSearchJob> - #include <Akonadi/Contact/ContactGroupSearchJob> - #include <Akonadi/CollectionFetchJob> -@@ -77,6 +79,10 @@ - - using namespace KPIM; - -+namespace KPIM { -+ typedef QMap< QString, QPair<int,int> > CompletionItemsMap; -+} -+ - class AddresseeLineEditStatic - { - public: -@@ -496,11 +502,9 @@ void AddresseeLineEdit::Private::addCompletionItem( const QString &string, int w - s_static->completionItemMap.insert( string, qMakePair( weight, completionItemSource ) ); - } - -- if ( keyWords == 0 ) { -- s_static->completion->addItem( string, weight ); -- } else { -- s_static->completion->addItemWithKeys( string, weight, keyWords ); -- } -+ s_static->completion->addItem(string, weight); -+ if (keyWords && !keyWords->isEmpty()) -+ s_static->completion->addItemWithKeys(string, weight, keyWords); // see kmailcompletion.cpp - } - - const QStringList KPIM::AddresseeLineEdit::Private::adjustedCompletionItems( bool fullSearch ) -@@ -1348,17 +1352,13 @@ void AddresseeLineEdit::addItem( const Akonadi::Item &item, int weight, int sour - void AddresseeLineEdit::addContactGroup( const KABC::ContactGroup &group, int weight, int source ) - { - d->addCompletionItem( group.name(), weight, source ); -- QStringList keyWords; -- keyWords.append( group.name() ); -- d->addCompletionItem( group.name(), weight, source, &keyWords ); - } - - void AddresseeLineEdit::addContact( const KABC::Addressee &addr, int weight, int source ) - { - const QStringList emails = addr.emails(); - QStringList::ConstIterator it; -- const int prefEmailWeight = 1; //increment weight by prefEmailWeight -- int isPrefEmail = prefEmailWeight; //first in list is preferredEmail -+ int isPrefEmail = 1; //first in list is preferredEmail - QStringList::ConstIterator end( emails.constEnd() ); - for ( it = emails.constBegin(); it != end; ++it ) { - //TODO: highlight preferredEmail -@@ -1368,40 +1368,6 @@ void AddresseeLineEdit::addContact( const KABC::Addressee &addr, int weight, int - const QString nickName = addr.nickName(); - QString fullEmail = addr.fullEmail( email ); - -- // Prepare keywords (for CompletionShell, CompletionPopup) -- QStringList keyWords; -- const QString realName = addr.realName(); -- -- if ( !givenName.isEmpty() && !familyName.isEmpty() ) { -- keyWords.append( givenName + QLatin1Char( ' ' ) + familyName ); -- keyWords.append( familyName + QLatin1Char( ' ' ) + givenName ); -- keyWords.append( familyName + QLatin1String( ", " ) + givenName ); -- } else if ( !givenName.isEmpty() ) { -- keyWords.append( givenName ); -- } else if ( !familyName.isEmpty() ) { -- keyWords.append( familyName ); -- } -- -- if ( !nickName.isEmpty() ) { -- keyWords.append( nickName ); -- } -- -- if ( !realName.isEmpty() ) { -- keyWords.append( realName ); -- } -- -- keyWords.append( email ); -- -- /* KMailCompletion does not have knowledge about identities, it stores emails and -- * keywords for each email. KMailCompletion::allMatches does a lookup on the -- * keywords and returns an ordered list of emails. In order to get the preferred -- * email before others for each identity we use this little trick. -- * We remove the <blank> in adjustedCompletionItems. -- */ -- if ( isPrefEmail == prefEmailWeight ) { -- fullEmail.replace( QLatin1String( " <" ), QLatin1String( " <" ) ); -- } -- - // Prepare "givenName" + ' ' + "familyName" - QString fullName = givenName; - if (!familyName.isEmpty()) { -@@ -1413,12 +1379,16 @@ void AddresseeLineEdit::addContact( const KABC::Addressee &addr, int weight, int - // Finally, we can add the completion items - if (!fullName.isEmpty()) { - const QString address = KPIMUtils::normalizedAddress(fullName, email, QString()); -- d->addCompletionItem(address, weight + isPrefEmail, source, &keyWords); -+ if (fullEmail != address) { -+ // This happens when fullEmail contains a middle name, while our own fullName+email only has "first last". -+ // Let's offer both, the fullEmail with 3 parts, looks a tad formal. -+ d->addCompletionItem(address, weight + isPrefEmail, source); -+ } - } - -- if ( !nickName.isEmpty() ) { -- const QString address = KPIMUtils::normalizedAddress(nickName, email, QString()); -- d->addCompletionItem(address, weight + isPrefEmail, source, &keyWords); -+ QStringList keyWords; -+ if (!nickName.isEmpty()) { -+ keyWords.append(nickName); - } - - d->addCompletionItem( fullEmail, weight + isPrefEmail, source, &keyWords ); -diff --git a/libkdepim/addresseelineedit.h b/libkdepim/addresseelineedit.h -index 4e6784b..b2af4a9 100644 ---- a/libkdepim/addresseelineedit.h -+++ b/libkdepim/addresseelineedit.h -@@ -27,7 +27,6 @@ - #ifndef KDEPIM_ADDRESSEELINEEDIT_H - #define KDEPIM_ADDRESSEELINEEDIT_H - --#include "kmailcompletion.h" - #include "kdepim_export.h" - - #include "ldap/ldapclient.h" -@@ -50,10 +49,6 @@ namespace KABC { - class ContactGroup; - } - --namespace KPIM { -- typedef QMap< QString, QPair<int,int> > CompletionItemsMap; --} -- - namespace Nepomuk2 { - namespace Query { - class Result; -diff --git a/libkdepim/kmailcompletion.h b/libkdepim/kmailcompletion.h -index e8574cc..93771d3 100644 ---- a/libkdepim/kmailcompletion.h -+++ b/libkdepim/kmailcompletion.h -@@ -32,7 +32,9 @@ namespace KPIM { - - /** - * KMailCompletion allows lookup of email addresses by keyword. -- * Typically a keywods would be firstname, lastname, nickname or domain. -+ * This is used for lookup by nickname, since we don't want the nickname to appear in the final email. -+ * E.g. you have a nickname "idiot" for your boss, you want to type "idiot" but you want the completion -+ * to offer "Full Name <email@domain>", without the nickname being visible. - */ - class KMailCompletion : public KCompletion - { |