Hello community, here is the log from the commit of package kdepim4-runtime for openSUSE:Factory checked in at 2013-10-03 15:55:00 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/kdepim4-runtime (Old) and /work/SRC/openSUSE:Factory/.kdepim4-runtime.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kdepim4-runtime" Changes: -------- --- /work/SRC/openSUSE:Factory/kdepim4-runtime/kdepim4-runtime.changes 2013-09-09 11:06:35.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.kdepim4-runtime.new/kdepim4-runtime.changes 2013-10-03 15:55:01.000000000 +0200 @@ -1,0 +2,7 @@ +Sat Sep 28 15:07:13 UTC 2013 - [email protected] + +- Update to 4.11.2 + * KDE 4.11.2 bugfix release + * See http://www.kde.org/announcements/announce-4.11.2.php + +------------------------------------------------------------------- Old: ---- kdepim-runtime-4.11.1.tar.xz New: ---- kdepim-runtime-4.11.2.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ kdepim4-runtime.spec ++++++ --- /var/tmp/diff_new_pack.A76Mgz/_old 2013-10-03 15:55:02.000000000 +0200 +++ /var/tmp/diff_new_pack.A76Mgz/_new 2013-10-03 15:55:02.000000000 +0200 @@ -17,7 +17,7 @@ Name: kdepim4-runtime -Version: 4.11.1 +Version: 4.11.2 Release: 0 Summary: Base package of kdepim License: LGPL-2.1+ ++++++ kdepim-runtime-4.11.1.tar.xz -> kdepim-runtime-4.11.2.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdepim-runtime-4.11.1/CMakeLists.txt new/kdepim-runtime-4.11.2/CMakeLists.txt --- old/kdepim-runtime-4.11.1/CMakeLists.txt 2013-08-29 20:34:32.000000000 +0200 +++ new/kdepim-runtime-4.11.2/CMakeLists.txt 2013-09-26 21:22:30.000000000 +0200 @@ -38,7 +38,7 @@ set(KDEPIM_RUNTIME_DEV_VERSION "") endif() -set(KDEPIM_RUNTIME_VERSION "4.11.1${KDEPIM_RUNTIME_DEV_VERSION}") +set(KDEPIM_RUNTIME_VERSION "4.11.2${KDEPIM_RUNTIME_DEV_VERSION}") ############### search-related options ################ option(KDEPIM_NO_NEPOMUK "Build without nepomuk dependency" FALSE) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdepim-runtime-4.11.1/agents/nepomukfeeder/nepomukfeederagent.cpp new/kdepim-runtime-4.11.2/agents/nepomukfeeder/nepomukfeederagent.cpp --- old/kdepim-runtime-4.11.1/agents/nepomukfeeder/nepomukfeederagent.cpp 2013-08-28 19:06:34.000000000 +0200 +++ new/kdepim-runtime-4.11.2/agents/nepomukfeeder/nepomukfeederagent.cpp 2013-09-26 21:22:30.000000000 +0200 @@ -251,6 +251,7 @@ { if (job->error()) { kWarning() << "FindUnindexedItemsJob failed"; + m_findUnindexedItemsJob = 0; return; } FindUnindexedItemsJob *findJob = static_cast<FindUnindexedItemsJob*>(job); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdepim-runtime-4.11.1/agents/newmailnotifier/newmailnotifieragent.cpp new/kdepim-runtime-4.11.2/agents/newmailnotifier/newmailnotifieragent.cpp --- old/kdepim-runtime-4.11.1/agents/newmailnotifier/newmailnotifieragent.cpp 2013-08-28 19:06:34.000000000 +0200 +++ new/kdepim-runtime-4.11.2/agents/newmailnotifier/newmailnotifieragent.cpp 2013-09-26 21:22:30.000000000 +0200 @@ -219,7 +219,6 @@ QList<Akonadi::Item::Id> idList = it.value(); bool itemFound = false; Q_FOREACH( Item item, items ) { - qDebug()<<" void NewMailNotifierAgent::itemRemoved( const Akonadi::Item &item )"<<item.id(); if (idList.contains(item.id())) { idList.removeAll( item.id() ); itemFound = true; @@ -254,7 +253,6 @@ } } } - qDebug()<<" addedFlags"<<addedFlags<<" removedFlags ;"<<removedFlags; } void NewMailNotifierAgent::itemsMoved( const Akonadi::Item::List &items, const Akonadi::Collection &collectionSource, const Akonadi::Collection &collectionDestination ) @@ -272,7 +270,6 @@ continue; // outbox, sent-mail, trash, drafts or templates. } - qDebug()<<" itemMoved"<<item.id(); if ( mNewMails.contains( collectionSource ) ) { QList<Akonadi::Item::Id> idListFrom = mNewMails[ collectionSource ]; if ( idListFrom.contains( item.id() ) ) { @@ -310,7 +307,6 @@ if ( !mTimer.isActive() ) { mTimer.start(); } - qDebug()<<" void NewMailNotifierAgent::itemAdded( const Akonadi::Item &item, const Akonadi::Collection &collection )"<<item.id(); mNewMails[ collection ].append( item.id() ); } @@ -348,7 +344,10 @@ displayName = it.key().name(); if (hasUniqMessage) { - if (it.value().count() == 1 ) { + if (it.value().count() == 0) { + //You can have an unique folder with 0 message + return; + } else if (it.value().count() == 1 ) { item = it.value().first(); currentPath = displayName; break; @@ -356,7 +355,6 @@ hasUniqMessage = false; } } - qDebug()<<" it.value().count()"<<it.value().count()<<" displayName"<<displayName; texts.append( i18np( "One new email in %2", "%1 new emails in %2", it.value().count(), displayName ) ); } if (hasUniqMessage) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdepim-runtime-4.11.1/resources/dav/common/davitemsfetchjob.cpp new/kdepim-runtime-4.11.2/resources/dav/common/davitemsfetchjob.cpp --- old/kdepim-runtime-4.11.1/resources/dav/common/davitemsfetchjob.cpp 2013-06-28 19:35:42.000000000 +0200 +++ new/kdepim-runtime-4.11.2/resources/dav/common/davitemsfetchjob.cpp 2013-09-26 21:22:30.000000000 +0200 @@ -35,7 +35,7 @@ dynamic_cast<const DavMultigetProtocol*>( DavManager::self()->davProtocol( mCollectionUrl.protocol() ) ); if ( !protocol ) { setError( UserDefinedError ); - setErrorText( QString( "Protocol for the collection does not support MULTIGET" ) ); + setErrorText( i18n( "Protocol for the collection does not support MULTIGET" ) ); emitResult(); return; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdepim-runtime-4.11.1/resources/imap/changeitemsflagstask.cpp new/kdepim-runtime-4.11.2/resources/imap/changeitemsflagstask.cpp --- old/kdepim-runtime-4.11.1/resources/imap/changeitemsflagstask.cpp 2013-08-28 19:06:34.000000000 +0200 +++ new/kdepim-runtime-4.11.2/resources/imap/changeitemsflagstask.cpp 2013-09-26 21:22:30.000000000 +0200 @@ -91,7 +91,7 @@ void ChangeItemsFlagsTask::triggerAppendFlagsJob(KIMAP::Session* session) { KIMAP::StoreJob *store = prepareJob( session ); - store->setFlags( addedFlags().toList() ); + store->setFlags( fromAkonadiFlags( addedFlags().toList() ) ); store->setMode( KIMAP::StoreJob::AppendFlags ); connect( store, SIGNAL(result(KJob*)), SLOT(onAppendFlagsDone(KJob*)) ); store->start(); @@ -100,7 +100,7 @@ void ChangeItemsFlagsTask::triggerRemoveFlagsJob(KIMAP::Session* session) { KIMAP::StoreJob *store = prepareJob( session ); - store->setFlags( removedFlags().toList() ); + store->setFlags( fromAkonadiFlags( removedFlags().toList() ) ); store->setMode( KIMAP::StoreJob::RemoveFlags ); connect( store, SIGNAL(result(KJob*)), SLOT(onRemoveFlagsDone(KJob*)) ); store->start(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdepim-runtime-4.11.1/resources/imap/imapresource.cpp new/kdepim-runtime-4.11.2/resources/imap/imapresource.cpp --- old/kdepim-runtime-4.11.1/resources/imap/imapresource.cpp 2013-08-28 19:06:34.000000000 +0200 +++ new/kdepim-runtime-4.11.2/resources/imap/imapresource.cpp 2013-09-26 21:22:30.000000000 +0200 @@ -541,6 +541,16 @@ ResourceBase::doSetOnline( online ); } +QChar ImapResource::separatorCharacter() const +{ + return m_separatorCharacter; +} + +void ImapResource::setSeparatorCharacter( const QChar &separator ) +{ + m_separatorCharacter = separator; +} + bool ImapResource::needsNetwork() const { const QString hostName = Settings::self()->imapServer().section( ':', 0, 0 ); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdepim-runtime-4.11.1/resources/imap/imapresource.h new/kdepim-runtime-4.11.2/resources/imap/imapresource.h --- old/kdepim-runtime-4.11.1/resources/imap/imapresource.h 2013-08-28 19:06:34.000000000 +0200 +++ new/kdepim-runtime-4.11.2/resources/imap/imapresource.h 2013-09-26 21:22:30.000000000 +0200 @@ -100,6 +100,8 @@ virtual void doSetOnline(bool online); + QChar separatorCharacter() const; + void setSeparatorCharacter( const QChar &separator ); private Q_SLOTS: void reconnect(); @@ -139,6 +141,7 @@ bool m_fastSync; Akonadi::Session *m_bodyCheckSession; QTimer *m_statusMessageTimer; + QChar m_separatorCharacter; }; #endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdepim-runtime-4.11.1/resources/imap/resourcestate.cpp new/kdepim-runtime-4.11.2/resources/imap/resourcestate.cpp --- old/kdepim-runtime-4.11.1/resources/imap/resourcestate.cpp 2013-08-28 19:06:34.000000000 +0200 +++ new/kdepim-runtime-4.11.2/resources/imap/resourcestate.cpp 2013-09-26 21:22:30.000000000 +0200 @@ -307,29 +307,6 @@ return Settings::self()->rootRemoteId(); } -QString ResourceState::mailBoxForCollection( const Akonadi::Collection &collection, bool showWarnings ) const -{ - if ( collection.remoteId().isEmpty() ) { //This should never happen, investigate why a collection without remoteId made it this far - if ( showWarnings ) - kWarning() << "Got incomplete ancestor chain due to empty remoteId:" << collection; - return QString(); - } - - if ( collection.parentCollection() == Akonadi::Collection::root() ) { - if ( showWarnings ) - kWarning( collection.remoteId() != rootRemoteId() ) << "RID mismatch, is " << collection.remoteId() << " expected " << rootRemoteId(); - return QString( "" ); - } - const QString parentMailbox = mailBoxForCollection( collection.parentCollection() ); - if ( parentMailbox.isNull() ) // invalid, != isEmpty() here! - return QString(); - - const QString mailbox = parentMailbox + collection.remoteId(); - if ( parentMailbox.isEmpty() ) - return mailbox.mid( 1 ); // strip of the separator on top-level mailboxes - return mailbox; -} - void ResourceState::setIdleCollection( const Akonadi::Collection &collection ) { QStringList ridPath; @@ -506,6 +483,16 @@ m_resource->scheduleConnectionAttempt(); } +QChar ResourceState::separatorCharacter() const +{ + return m_resource->separatorCharacter(); +} + +void ResourceState::setSeparatorCharacter( const QChar &separator ) +{ + m_resource->setSeparatorCharacter( separator ); +} + void ResourceState::showInformationDialog( const QString &message, const QString &title, const QString &dontShowAgainName ) { KMessageBox::information( 0, message, title, dontShowAgainName ); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdepim-runtime-4.11.1/resources/imap/resourcestate.h new/kdepim-runtime-4.11.2/resources/imap/resourcestate.h --- old/kdepim-runtime-4.11.1/resources/imap/resourcestate.h 2013-08-28 19:06:34.000000000 +0200 +++ new/kdepim-runtime-4.11.2/resources/imap/resourcestate.h 2013-09-26 21:22:30.000000000 +0200 @@ -113,7 +113,6 @@ virtual QSet<QByteArray> removedFlags() const; virtual QString rootRemoteId() const; - virtual QString mailBoxForCollection( const Akonadi::Collection &collection, bool showWarnings = true ) const; virtual void setIdleCollection( const Akonadi::Collection &collection ); virtual void applyCollectionChanges( const Akonadi::Collection &collection ); @@ -147,6 +146,9 @@ virtual void synchronizeCollectionTree(); virtual void scheduleConnectionAttempt(); + virtual QChar separatorCharacter() const; + virtual void setSeparatorCharacter( const QChar &separator ); + virtual void showInformationDialog( const QString &message, const QString &title, const QString &dontShowAgainName ); private: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdepim-runtime-4.11.1/resources/imap/resourcestateinterface.cpp new/kdepim-runtime-4.11.2/resources/imap/resourcestateinterface.cpp --- old/kdepim-runtime-4.11.1/resources/imap/resourcestateinterface.cpp 2013-06-28 19:35:42.000000000 +0200 +++ new/kdepim-runtime-4.11.2/resources/imap/resourcestateinterface.cpp 2013-09-26 21:22:30.000000000 +0200 @@ -26,4 +26,26 @@ } +QString ResourceStateInterface::mailBoxForCollection( const Akonadi::Collection &collection, bool showWarnings ) +{ + if ( collection.remoteId().isEmpty() ) { //This should never happen, investigate why a collection without remoteId made it this far + if ( showWarnings ) + kWarning() << "Got incomplete ancestor chain due to empty remoteId:" << collection; + return QString(); + } + if ( collection.parentCollection() == Akonadi::Collection::root() ) { + /*if ( showWarnings ) + kWarning( collection.remoteId() != rootRemoteId() ) << "RID mismatch, is " << collection.remoteId() << " expected " << rootRemoteId(); + */ + return QLatin1String( "" ); // see below, this intentionally not just QString()! + } + const QString parentMailbox = mailBoxForCollection( collection.parentCollection() ); + if ( parentMailbox.isNull() ) // invalid, != isEmpty() here! + return QString(); + + const QString mailbox = parentMailbox + collection.remoteId(); + if ( parentMailbox.isEmpty() ) + return mailbox.mid( 1 ); // strip of the separator on top-level mailboxes + return mailbox; +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdepim-runtime-4.11.1/resources/imap/resourcestateinterface.h new/kdepim-runtime-4.11.2/resources/imap/resourcestateinterface.h --- old/kdepim-runtime-4.11.1/resources/imap/resourcestateinterface.h 2013-08-28 19:06:34.000000000 +0200 +++ new/kdepim-runtime-4.11.2/resources/imap/resourcestateinterface.h 2013-09-26 21:22:30.000000000 +0200 @@ -62,7 +62,7 @@ virtual QSet<QByteArray> removedFlags() const = 0; virtual QString rootRemoteId() const = 0; - virtual QString mailBoxForCollection( const Akonadi::Collection &collection, bool showWarnings = true ) const = 0; + QString mailBoxForCollection( const Akonadi::Collection &collection, bool showWarnings = true ); virtual void setIdleCollection( const Akonadi::Collection &collection ) = 0; virtual void applyCollectionChanges( const Akonadi::Collection &collection ) = 0; @@ -96,6 +96,9 @@ virtual void synchronizeCollectionTree() = 0; virtual void scheduleConnectionAttempt() = 0; + virtual QChar separatorCharacter() const = 0; + virtual void setSeparatorCharacter( const QChar &separator ) = 0; + virtual void showInformationDialog( const QString &message, const QString &title, const QString &dontShowAgainName ) = 0; }; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdepim-runtime-4.11.1/resources/imap/resourcetask.cpp new/kdepim-runtime-4.11.2/resources/imap/resourcetask.cpp --- old/kdepim-runtime-4.11.1/resources/imap/resourcetask.cpp 2013-08-28 19:06:34.000000000 +0200 +++ new/kdepim-runtime-4.11.2/resources/imap/resourcetask.cpp 2013-09-26 21:22:30.000000000 +0200 @@ -356,7 +356,7 @@ newFlags.append( ImapFlags::Seen ); } else if ( oldFlag == Akonadi::MessageFlags::Deleted ) { newFlags.append( ImapFlags::Deleted ); - } else if ( oldFlag == Akonadi::MessageFlags::Answered ) { + } else if ( oldFlag == Akonadi::MessageFlags::Answered || oldFlag == Akonadi::MessageFlags::Replied ) { newFlags.append( ImapFlags::Answered ); } else if ( oldFlag == Akonadi::MessageFlags::Flagged ) { newFlags.append( ImapFlags::Flagged ); @@ -400,12 +400,32 @@ const QChar ResourceTask::separatorCharacter() const { - //If we create a toplevel folder, assume the separator to be '/'. This is not perfect, but detecting the right - //IMAP separator is not straightforward for toplevel folders, and fixes bug 292418 and maybe other, where - //subfolders end up with remote id's starting with "i" (the first letter of imap:// ...) - const QString parentRemoteId = parentCollection().remoteId(); - const QChar separator = ( ( parentRemoteId != rootRemoteId() ) && !parentRemoteId.isEmpty() ) ? parentRemoteId.at( 0 ) : '/'; - return separator; + const QChar separator = m_resource->separatorCharacter(); + if ( !separator.isNull() ) { + return separator; + } else { + //If we request the separator before first folder listing, then try to guess + //the separator: + //If we create a toplevel folder, assume the separator to be '/'. This is not perfect, but detecting the right + //IMAP separator is not straightforward for toplevel folders, and fixes bug 292418 and maybe other, where + //subfolders end up with remote id's starting with "i" (the first letter of imap:// ...) + + QString remoteId; + // We don't always have parent collection set (for example for CollectionChangeTask), + // in such cases however we can use current collection's remoteId to get the separator + const Akonadi::Collection parent = parentCollection(); + if ( parent.isValid() ) { + remoteId = parent.remoteId(); + } else { + remoteId = collection().remoteId(); + } + return ( ( remoteId != rootRemoteId() ) && !remoteId.isEmpty() ) ? remoteId.at( 0 ) : QLatin1Char('/'); + } +} + +void ResourceTask::setSeparatorCharacter( const QChar& separator ) +{ + m_resource->setSeparatorCharacter( separator ); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdepim-runtime-4.11.1/resources/imap/resourcetask.h new/kdepim-runtime-4.11.2/resources/imap/resourcetask.h --- old/kdepim-runtime-4.11.1/resources/imap/resourcetask.h 2013-08-28 19:06:34.000000000 +0200 +++ new/kdepim-runtime-4.11.2/resources/imap/resourcetask.h 2013-09-26 21:22:30.000000000 +0200 @@ -123,6 +123,7 @@ void showInformationDialog( const QString &message, const QString &title, const QString &dontShowAgainName ); const QChar separatorCharacter() const; + void setSeparatorCharacter( const QChar &separator ); static QList<QByteArray> toAkonadiFlags( const QList<QByteArray> &flags ); static QList<QByteArray> fromAkonadiFlags( const QList<QByteArray> &flags ); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdepim-runtime-4.11.1/resources/imap/retrievecollectionstask.cpp new/kdepim-runtime-4.11.2/resources/imap/retrievecollectionstask.cpp --- old/kdepim-runtime-4.11.1/resources/imap/retrievecollectionstask.cpp 2013-06-28 19:35:42.000000000 +0200 +++ new/kdepim-runtime-4.11.2/resources/imap/retrievecollectionstask.cpp 2013-09-26 21:22:30.000000000 +0200 @@ -103,6 +103,12 @@ QStringList contentTypes; contentTypes << KMime::Message::mimeType() << Akonadi::Collection::mimeType(); + if ( !descriptors.isEmpty() ) { + // This is still not optimal way of getting the separator, but it's better + // than guessing every time from RID of parent collection + setSeparatorCharacter( descriptors.first().separator ); + } + for ( int i=0; i<descriptors.size(); ++i ) { KIMAP::MailBoxDescriptor descriptor = descriptors[i]; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdepim-runtime-4.11.1/resources/kolabproxy/kolabproxyresource.cpp new/kdepim-runtime-4.11.2/resources/kolabproxy/kolabproxyresource.cpp --- old/kdepim-runtime-4.11.1/resources/kolabproxy/kolabproxyresource.cpp 2013-08-28 19:06:34.000000000 +0200 +++ new/kdepim-runtime-4.11.2/resources/kolabproxy/kolabproxyresource.cpp 2013-09-26 21:22:30.000000000 +0200 @@ -915,7 +915,6 @@ applyAttributesFromImap( c, imapCollection ); if ( isKolabFolder( imapCollection ) ) { KolabHandler::Ptr handler = m_monitoredCollections.value( imapCollection.id() ); - contentTypes.append( Akonadi::Collection::mimeType() ); if ( handler ) { contentTypes.append( handler->contentMimeTypes() ); kolabAttr->setIconName( handler->iconName() ); @@ -927,6 +926,7 @@ new Akonadi::CollectionModifyJob( hiddenImapCol, this ); } } + contentTypes.append( Akonadi::Collection::mimeType() ); c.setContentMimeTypes( contentTypes ); c.setRemoteId( QString::number( imapCollection.id() ) ); return c; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdepim-runtime-4.11.1/resources/vcarddir/vcarddirresource.desktop new/kdepim-runtime-4.11.2/resources/vcarddir/vcarddirresource.desktop --- old/kdepim-runtime-4.11.1/resources/vcarddir/vcarddirresource.desktop 2013-08-28 19:06:34.000000000 +0200 +++ new/kdepim-runtime-4.11.2/resources/vcarddir/vcarddirresource.desktop 2013-09-26 21:22:30.000000000 +0200 @@ -34,7 +34,7 @@ Name[zh_TW]=vCard 目錄 Comment=Loads data from a directory with vCards Comment[bs]=Učitava podakte iz direktorija sa VCards -Comment[ca]=Carrega dades des d'un directori amb vCards +Comment[ca]=Carrega dades des d'un directori amb vCard Comment[cs]=Načítá data z adresáře vizitek (vCard) Comment[da]=Indlæser data fra en mappe med vCards Comment[de]=Daten werden aus einem Ordner mit vCard-Dateien geladen -- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
