Hello community, here is the log from the commit of package kdepimlibs4 for openSUSE:Factory checked in at 2014-03-30 07:50:59 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/kdepimlibs4 (Old) and /work/SRC/openSUSE:Factory/.kdepimlibs4.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kdepimlibs4" Changes: -------- --- /work/SRC/openSUSE:Factory/kdepimlibs4/kdepimlibs4.changes 2014-03-18 16:02:00.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.kdepimlibs4.new/kdepimlibs4.changes 2014-03-30 08:17:34.000000000 +0200 @@ -1,0 +2,23 @@ +Thu Mar 27 17:37:31 UTC 2014 - [email protected] + +- Update to 4.12.97 + * KDE 4.13 RC release + * See http://www.kde.org/announcements/announce-4.13-rc.php + +- Drop upstreamed patch set-itemmodifyjob-to-silent.diff + +------------------------------------------------------------------- +Sun Mar 23 12:48:35 UTC 2014 - [email protected] + +- Add upstream patch set-itemmodifyjob-to-silent.diff to mark the + ItemModifyJob as silent so that baloo doesn't keep on indexing + the maildir + +------------------------------------------------------------------- +Thu Mar 20 18:03:37 UTC 2014 - [email protected] + +- Update to 4.12.95 + * KDE 4.13 Beta 3 release + * See http://www.kde.org/announcements/announce-4.13-beta3.php + +------------------------------------------------------------------- Old: ---- kdepimlibs-4.12.90.tar.xz New: ---- kdepimlibs-4.12.97.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ kdepimlibs4.spec ++++++ --- /var/tmp/diff_new_pack.HYsEJq/_old 2014-03-30 08:21:37.000000000 +0200 +++ /var/tmp/diff_new_pack.HYsEJq/_new 2014-03-30 08:21:37.000000000 +0200 @@ -17,7 +17,7 @@ Name: kdepimlibs4 -Version: 4.12.90 +Version: 4.12.97 Release: 0 Summary: KDE PIM Libraries License: LGPL-2.1+ ++++++ kdepimlibs-4.12.90.tar.xz -> kdepimlibs-4.12.97.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdepimlibs-4.12.90/CMakeLists.txt new/kdepimlibs-4.12.97/CMakeLists.txt --- old/kdepimlibs-4.12.90/CMakeLists.txt 2014-03-12 16:21:31.000000000 +0100 +++ new/kdepimlibs-4.12.97/CMakeLists.txt 2014-03-26 08:20:40.000000000 +0100 @@ -7,7 +7,7 @@ ############### The kdepimlibs version (used e.g. in KdepimLibsConfig.cmake) ############### set(KDEPIMLIBS_VERSION_MAJOR 4) set(KDEPIMLIBS_VERSION_MINOR 12) -set(KDEPIMLIBS_VERSION_PATCH 90) +set(KDEPIMLIBS_VERSION_PATCH 97) set(KDEPIMLIBS_VERSION ${KDEPIMLIBS_VERSION_MAJOR}.${KDEPIMLIBS_VERSION_MINOR}.${KDEPIMLIBS_VERSION_PATCH}) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdepimlibs-4.12.90/akonadi/agentbase.cpp new/kdepimlibs-4.12.97/akonadi/agentbase.cpp --- old/kdepimlibs-4.12.90/akonadi/agentbase.cpp 2014-03-12 16:21:31.000000000 +0100 +++ new/kdepimlibs-4.12.97/akonadi/agentbase.cpp 2014-03-26 08:20:40.000000000 +0100 @@ -302,7 +302,8 @@ mSettings( 0 ), mChangeRecorder( 0 ), mTracer( 0 ), - mObserver( 0 ) + mObserver(0), + mTemporaryOfflineTimer(0) { Internal::setClientType( Internal::Agent ); } @@ -739,8 +740,9 @@ void AgentBasePrivate::slotNetworkStatusChange( Solid::Networking::Status stat ) { + Q_UNUSED( stat ); Q_Q( AgentBase ); - q->setOnlineInternal( mDesiredOnlineState && ( stat == Solid::Networking::Unknown || stat == Solid::Networking::Connected ) ); + q->setOnlineInternal( mDesiredOnlineState ); } void AgentBasePrivate::slotResumedFromSuspend() @@ -750,6 +752,12 @@ } } +void AgentBasePrivate::slotTemporaryOfflineTimeout() +{ + Q_Q(AgentBase); + q->setOnlineInternal(true); +} + QString AgentBasePrivate::dumpNotificationListToString() const { return mChangeRecorder->dumpNotificationListToString(); @@ -915,11 +923,42 @@ setOnlineInternal( state ); } +void AgentBase::setTemporaryOffline(int makeOnlineInSeconds) +{ + Q_D(AgentBase); + + // if not currently online, avoid bringing it online after the timeout + if (!d->mOnline) { + return; + } + + setOnlineInternal(false); + + if (!d->mTemporaryOfflineTimer) { + d->mTemporaryOfflineTimer = new QTimer(d); + d->mTemporaryOfflineTimer->setSingleShot(true); + connect(d->mTemporaryOfflineTimer, SIGNAL(timeout()), this, SLOT(slotTemporaryOfflineTimeout())); + } + d->mTemporaryOfflineTimer->setInterval(makeOnlineInSeconds * 1000); + d->mTemporaryOfflineTimer->start(); +} + void AgentBase::setOnlineInternal( bool state ) { Q_D( AgentBase ); + if (state && d->mNeedsNetwork) { + const Solid::Networking::Status stat = Solid::Networking::status(); + if (stat != Solid::Networking::Unknown && stat != Solid::Networking::Connected) { + //Don't go online if the resource needs network but there is none + state = false; + } + } d->mOnline = state; + if (d->mTemporaryOfflineTimer) { + d->mTemporaryOfflineTimer->stop(); + } + const QString newMessage = d->defaultReadyMessage(); if ( d->mStatusMessage != newMessage && d->mStatusCode != AgentBase::Broken ) { emit status( d->mStatusCode, newMessage ); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdepimlibs-4.12.90/akonadi/agentbase.h new/kdepimlibs-4.12.97/akonadi/agentbase.h --- old/kdepimlibs-4.12.90/akonadi/agentbase.h 2014-03-12 16:21:31.000000000 +0100 +++ new/kdepimlibs-4.12.97/akonadi/agentbase.h 2014-03-26 08:20:40.000000000 +0100 @@ -711,6 +711,31 @@ */ void setOnline( bool state ); + /** + * Sets the agent offline but will make it online again after a given time + * + * Use this method when the agent detects some problem with its backend but it wants + * to retry all pending operations after some time - e.g. a server can not be reached currently + * + * Example usage: + * @code + * void ExampleResource::onItemRemovedFinished(KJob *job) + * { + * if (job->error()) { + * emit status(Broken, job->errorString()); + * deferTask(); + * setTemporaryOffline(300); + * return; + * } + * ... + * } + * @endcode + * + * @since 4.13 + * @param makeOnlineInSeconds timeout in seconds after which the agent changes to online + */ + void setTemporaryOffline(int makeOnlineInSeconds = 300); + protected: //@cond PRIVATE AgentBasePrivate *d_ptr; @@ -748,6 +773,7 @@ Q_PRIVATE_SLOT( d_func(), void slotError( const QString& ) ) Q_PRIVATE_SLOT( d_func(), void slotNetworkStatusChange( Solid::Networking::Status ) ) Q_PRIVATE_SLOT( d_func(), void slotResumedFromSuspend() ) + Q_PRIVATE_SLOT(d_func(), void slotTemporaryOfflineTimeout()) //@endcond }; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdepimlibs-4.12.90/akonadi/agentbase_p.h new/kdepimlibs-4.12.97/akonadi/agentbase_p.h --- old/kdepimlibs-4.12.90/akonadi/agentbase_p.h 2014-03-12 16:21:31.000000000 +0100 +++ new/kdepimlibs-4.12.97/akonadi/agentbase_p.h 2014-03-26 08:20:40.000000000 +0100 @@ -29,6 +29,7 @@ #include <solid/networking.h> class QSettings; +class QTimer; namespace Akonadi { @@ -52,6 +53,7 @@ void slotError( const QString& message ); void slotNetworkStatusChange( Solid::Networking::Status ); void slotResumedFromSuspend(); + void slotTemporaryOfflineTimeout(); virtual void changeProcessed(); @@ -108,6 +110,8 @@ AgentBase::Observer *mObserver; + QTimer *mTemporaryOfflineTimer; + public Q_SLOTS: // Dump the contents of the current ChangeReplay Q_SCRIPTABLE QString dumpNotificationListToString() const; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdepimlibs-4.12.90/akonadi/calendar/incidencefetchjob_p.cpp new/kdepimlibs-4.12.97/akonadi/calendar/incidencefetchjob_p.cpp --- old/kdepimlibs-4.12.90/akonadi/calendar/incidencefetchjob_p.cpp 2014-03-12 16:21:31.000000000 +0100 +++ new/kdepimlibs-4.12.97/akonadi/calendar/incidencefetchjob_p.cpp 2014-03-26 08:20:40.000000000 +0100 @@ -56,7 +56,7 @@ CollectionFetchJob *fetch = qobject_cast<CollectionFetchJob*>(job); Q_ASSERT(fetch); foreach(const Collection &col, fetch->collections()) { - if (!m_mimeTypeChecker.isWantedCollection(col)) + if (!m_mimeTypeChecker.isWantedCollection(col) || col.isVirtual()) continue; ItemFetchJob *itemFetch = new ItemFetchJob(col, this); itemFetch->fetchScope().fetchFullPayload(true); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdepimlibs-4.12.90/akonadi/entitytreemodel_p.cpp new/kdepimlibs-4.12.97/akonadi/entitytreemodel_p.cpp --- old/kdepimlibs-4.12.90/akonadi/entitytreemodel_p.cpp 2014-03-12 16:21:31.000000000 +0100 +++ new/kdepimlibs-4.12.97/akonadi/entitytreemodel_p.cpp 2014-03-26 08:20:40.000000000 +0100 @@ -1275,6 +1275,11 @@ Q_ASSERT( m_collections.contains( collection.id() ) ); const int row = indexOf<Node::Item>( m_childEntities.value( collection.id() ), item.id() ); + if ( row < 0 || row >= m_childEntities[ collection.id() ].size() ) { + kWarning() << "couldn't find index of unlinked item " << item.id() << collection.id() << row; + Q_ASSERT(false); + return; + } const QModelIndex parentIndex = indexForCollection( m_collections.value( collection.id() ) ); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdepimlibs-4.12.90/akonadi/itemfetchjob.cpp new/kdepimlibs-4.12.97/akonadi/itemfetchjob.cpp --- old/kdepimlibs-4.12.90/akonadi/itemfetchjob.cpp 2014-03-12 16:21:31.000000000 +0100 +++ new/kdepimlibs-4.12.97/akonadi/itemfetchjob.cpp 2014-03-26 08:20:40.000000000 +0100 @@ -81,7 +81,10 @@ QString jobDebuggingString() const /*Q_DECL_OVERRIDE*/ { if ( mRequestedItems.isEmpty() ) { - return QString::fromLatin1( "All items from collection %1" ).arg( mCollection.id() ); + QString str = QString::fromLatin1( "All items from collection %1" ).arg( mCollection.id() ); + if ( mFetchScope.fetchChangedSince().isValid() ) + str += QString::fromLatin1( " changed since %1" ).arg( mFetchScope.fetchChangedSince().toString() ); + return str; } else { try { return QString::fromLatin1( ProtocolHelper::entitySetToByteArray( mRequestedItems, AKONADI_CMD_ITEMFETCH ) ); @@ -185,17 +188,19 @@ { Q_D( ItemFetchJob ); - if ( d->mRequestedItems.isEmpty() ) { // collection content listing - if ( d->mCollection == Collection::root() ) { + if ( d->mCollection == Collection::root() ) { + if ( d->mRequestedItems.isEmpty() ) { // collection content listing setErrorText( i18n( "Cannot list root collection." ) ); setError( Unknown ); emitResult(); + } else { + d->startFetchJob(); } + } else { CollectionSelectJob *job = new CollectionSelectJob( d->mCollection, this ); connect( job, SIGNAL(result(KJob*)), SLOT(selectDone(KJob*)) ); addSubjob( job ); - } else - d->startFetchJob(); + } } void ItemFetchJob::doHandleResponse( const QByteArray & tag, const QByteArray & data ) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdepimlibs-4.12.90/akonadi/itemmodifyjob.cpp new/kdepimlibs-4.12.97/akonadi/itemmodifyjob.cpp --- old/kdepimlibs-4.12.90/akonadi/itemmodifyjob.cpp 2014-03-12 16:21:31.000000000 +0100 +++ new/kdepimlibs-4.12.97/akonadi/itemmodifyjob.cpp 2014-03-26 08:20:40.000000000 +0100 @@ -39,7 +39,8 @@ : JobPrivate( parent ), mRevCheck( true ), mIgnorePayload( false ), - mAutomaticConflictHandlingEnabled( true ) + mAutomaticConflictHandlingEnabled( true ), + mSilent( false ) { } @@ -108,6 +109,11 @@ } } +void ItemModifyJobPrivate::setSilent( bool silent ) +{ + mSilent = silent; +} + ItemModifyJob::ItemModifyJob( const Item &item, QObject * parent ) : Job( new ItemModifyJobPrivate( this ), parent ) { @@ -178,6 +184,10 @@ if ( item.d_func()->mClearPayload ) changes << "INVALIDATECACHE"; + if ( mSilent ) { + changes << "SILENT"; + } + if ( item.d_func()->mFlagsOverwritten ) { changes << "FLAGS"; changes << '(' + ImapParser::join( item.flags(), " " ) + ')'; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdepimlibs-4.12.90/akonadi/itemmodifyjob_p.h new/kdepimlibs-4.12.97/akonadi/itemmodifyjob_p.h --- old/kdepimlibs-4.12.90/akonadi/itemmodifyjob_p.h 2014-03-12 16:21:31.000000000 +0100 +++ new/kdepimlibs-4.12.97/akonadi/itemmodifyjob_p.h 2014-03-26 08:20:40.000000000 +0100 @@ -51,6 +51,8 @@ QString jobDebuggingString() const /*Q_DECL_OVERRIDE*/; QByteArray fullCommand() const; + void setSilent( bool silent ); + Q_DECLARE_PUBLIC( ItemModifyJob ) QSet<int> mOperations; @@ -61,6 +63,7 @@ QByteArray mPendingData; bool mIgnorePayload; bool mAutomaticConflictHandlingEnabled; + bool mSilent; }; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdepimlibs-4.12.90/akonadi/monitor_p.cpp new/kdepimlibs-4.12.97/akonadi/monitor_p.cpp --- old/kdepimlibs-4.12.90/akonadi/monitor_p.cpp 2014-03-12 16:21:31.000000000 +0100 +++ new/kdepimlibs-4.12.97/akonadi/monitor_p.cpp 2014-03-26 08:20:40.000000000 +0100 @@ -46,6 +46,7 @@ session( Session::defaultSession() ), collectionCache( 0 ), itemCache( 0 ), + tagCache(0), fetchCollection( false ), fetchCollectionStatistics( false ), collectionMoveTranslationEnabled( true ), diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdepimlibs-4.12.90/akonadi/resourcebase.cpp new/kdepimlibs-4.12.97/akonadi/resourcebase.cpp --- old/kdepimlibs-4.12.90/akonadi/resourcebase.cpp 2014-03-12 16:21:31.000000000 +0100 +++ new/kdepimlibs-4.12.97/akonadi/resourcebase.cpp 2014-03-26 08:20:40.000000000 +0100 @@ -585,6 +585,7 @@ } ItemModifyJob *job = new ItemModifyJob( i ); + job->d_func()->setSilent( true ); // FIXME: remove once the item with which we call retrieveItem() has a revision number job->disableRevisionCheck(); connect( job, SIGNAL(result(KJob*)), SLOT(slotDeliveryDone(KJob*)) ); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdepimlibs-4.12.90/akonadi/socialutils/serializer/akonadi_serializer_socialfeeditem.desktop new/kdepimlibs-4.12.97/akonadi/socialutils/serializer/akonadi_serializer_socialfeeditem.desktop --- old/kdepimlibs-4.12.90/akonadi/socialutils/serializer/akonadi_serializer_socialfeeditem.desktop 2014-03-12 16:21:31.000000000 +0100 +++ new/kdepimlibs-4.12.97/akonadi/socialutils/serializer/akonadi_serializer_socialfeeditem.desktop 2014-03-26 08:20:40.000000000 +0100 @@ -39,7 +39,7 @@ Comment=An Akonadi serializer plugin for SocialFeedItem Comment[bs]=Akonadi serializacijski dodatak za SocialFeedItem Comment[ca]=Un connector de serialització de l'Akonadi per a «SocialFeedItem» -Comment[ca@valencia]=Un connector de serialització de l'Akonadi pel «SocialFeedItem» +Comment[ca@valencia]=Un connector de serialització de l'Akonadi per a «SocialFeedItem» Comment[da]=Et Akonadi serializer-plugin til SocialFeedItem Comment[de]=Akonadi-Modul zur Serialisierung für SocialFeedItem Comment[el]=ένα πρόσθετο γραμμικής διάταξης του Akonadi για το SocialFeedItem diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdepimlibs-4.12.90/akonadi/subscriptiondialog.cpp new/kdepimlibs-4.12.97/akonadi/subscriptiondialog.cpp --- old/kdepimlibs-4.12.90/akonadi/subscriptiondialog.cpp 2014-03-12 16:21:31.000000000 +0100 +++ new/kdepimlibs-4.12.97/akonadi/subscriptiondialog.cpp 2014-03-26 08:20:40.000000000 +0100 @@ -101,6 +101,9 @@ void slotSetPattern(const QString &text) { filterRecursiveCollectionFilter->setSearchPattern( text ); +#ifndef KDEPIM_MOBILE_UI + collectionView->expandAll(); +#endif } void slotSetIncludeCheckedOnly(bool checked) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdepimlibs-4.12.90/akonadi/tagdeletejob.cpp new/kdepimlibs-4.12.97/akonadi/tagdeletejob.cpp --- old/kdepimlibs-4.12.90/akonadi/tagdeletejob.cpp 2014-03-12 16:21:31.000000000 +0100 +++ new/kdepimlibs-4.12.97/akonadi/tagdeletejob.cpp 2014-03-26 08:20:40.000000000 +0100 @@ -31,7 +31,6 @@ } Tag::List mTagsToRemove; - qint64 mUid; }; TagDeleteJob::TagDeleteJob(const Akonadi::Tag& tag, QObject* parent) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdepimlibs-4.12.90/akonadi/tageditwidget.cpp new/kdepimlibs-4.12.97/akonadi/tageditwidget.cpp --- old/kdepimlibs-4.12.90/akonadi/tageditwidget.cpp 2014-03-12 16:21:31.000000000 +0100 +++ new/kdepimlibs-4.12.97/akonadi/tageditwidget.cpp 2014-03-26 08:20:40.000000000 +0100 @@ -84,7 +84,9 @@ m_model(model), m_tagsView(0), m_newTagButton(0), + m_newTagEdit(0), + m_deleteButton(0), m_deleteButtonTimer(0) { @@ -111,8 +113,8 @@ void TagEditWidget::Private::slotCreateTag() { Akonadi::TagCreateJob *createJob = new Akonadi::TagCreateJob(Akonadi::Tag(m_newTagEdit->text()), this); - connect(createJob, SIGNAL(finished(KJob *)), - this, SLOT(slotCreateTagFinished(KJob *))); + connect(createJob, SIGNAL(finished(KJob*)), + this, SLOT(slotCreateTagFinished(KJob*))); m_newTagEdit->clear(); m_newTagEdit->setEnabled(false); @@ -198,7 +200,7 @@ d->m_checkableProxy = new KCheckableProxyModel(this); d->m_checkableProxy->setSourceModel(d->m_model); d->m_checkableProxy->setSelectionModel(selectionModel); - connect(d->m_model, SIGNAL(rowsInserted(QModelIndex, int, int)), d.data(), SLOT(onRowsInserted(QModelIndex, int, int))); + connect(d->m_model, SIGNAL(rowsInserted(QModelIndex,int,int)), d.data(), SLOT(onRowsInserted(QModelIndex,int,int))); d->m_tagsView = new QListView(this); d->m_tagsView->setMouseTracking(true); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdepimlibs-4.12.90/akonadi/tagfetchjob.cpp new/kdepimlibs-4.12.97/akonadi/tagfetchjob.cpp --- old/kdepimlibs-4.12.90/akonadi/tagfetchjob.cpp 2014-03-12 16:21:31.000000000 +0100 +++ new/kdepimlibs-4.12.97/akonadi/tagfetchjob.cpp 2014-03-26 08:20:40.000000000 +0100 @@ -32,7 +32,8 @@ { public: TagFetchJobPrivate(TagFetchJob *parent) - :JobPrivate(parent) + :JobPrivate(parent), + mEmitTimer(0) { } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdepimlibs-4.12.90/akonadi/tagmodel_p.cpp new/kdepimlibs-4.12.97/akonadi/tagmodel_p.cpp --- old/kdepimlibs-4.12.90/akonadi/tagmodel_p.cpp 2014-03-12 16:21:31.000000000 +0100 +++ new/kdepimlibs-4.12.97/akonadi/tagmodel_p.cpp 2014-03-26 08:20:40.000000000 +0100 @@ -27,7 +27,7 @@ using namespace Akonadi; TagModelPrivate::TagModelPrivate(TagModel* parent): - q_ptr(parent) + mMonitor(0), q_ptr(parent) { // Root tag mTags.insert(0, Tag(0)); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdepimlibs-4.12.90/akonadi/tagselectiondialog.cpp new/kdepimlibs-4.12.97/akonadi/tagselectiondialog.cpp --- old/kdepimlibs-4.12.90/akonadi/tagselectiondialog.cpp 2014-03-12 16:21:31.000000000 +0100 +++ new/kdepimlibs-4.12.97/akonadi/tagselectiondialog.cpp 2014-03-26 08:20:40.000000000 +0100 @@ -29,7 +29,8 @@ using namespace Akonadi; struct TagSelectionDialog::Private { - Private(KDialog *parent): d(parent){} + Private(KDialog *parent): d(parent), mTagWidget(0) + {} void writeConfig(); void readConfig(); KDialog *d; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdepimlibs-4.12.90/akonadi/tests/lazypopulationtest.cpp new/kdepimlibs-4.12.97/akonadi/tests/lazypopulationtest.cpp --- old/kdepimlibs-4.12.90/akonadi/tests/lazypopulationtest.cpp 2014-03-12 16:21:31.000000000 +0100 +++ new/kdepimlibs-4.12.97/akonadi/tests/lazypopulationtest.cpp 2014-03-26 08:20:40.000000000 +0100 @@ -276,7 +276,7 @@ //Create another item, it should not be added to the ETM although the signal is emitted from the monitor, but we should be able to fetchMore { - QSignalSpy addedSpy(changeRecorder, SIGNAL(itemAdded(Akonadi::Item, Akonadi::Collection))); + QSignalSpy addedSpy(changeRecorder, SIGNAL(itemAdded(Akonadi::Item,Akonadi::Collection))); QVERIFY(addedSpy.isValid()); Item item2; item2.setMimeType("application/octet-stream"); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdepimlibs-4.12.90/akonadi/tests/tagtest.cpp new/kdepimlibs-4.12.97/akonadi/tests/tagtest.cpp --- old/kdepimlibs-4.12.90/akonadi/tests/tagtest.cpp 2014-03-12 16:21:31.000000000 +0100 +++ new/kdepimlibs-4.12.97/akonadi/tests/tagtest.cpp 2014-03-26 08:20:40.000000000 +0100 @@ -285,7 +285,7 @@ item1.setTag(tag); - QSignalSpy tagsSpy(&monitor, SIGNAL(itemsTagsChanged(Akonadi::Item::List, QSet<Akonadi::Tag>, QSet<Akonadi::Tag>))); + QSignalSpy tagsSpy(&monitor, SIGNAL(itemsTagsChanged(Akonadi::Item::List,QSet<Akonadi::Tag>,QSet<Akonadi::Tag>))); QVERIFY(tagsSpy.isValid()); ItemModifyJob *modJob = new ItemModifyJob(item1, this); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdepimlibs-4.12.90/akonadi/tests/testresource/knutresource.desktop new/kdepimlibs-4.12.97/akonadi/tests/testresource/knutresource.desktop --- old/kdepimlibs-4.12.90/akonadi/tests/testresource/knutresource.desktop 2014-03-12 16:21:31.000000000 +0100 +++ new/kdepimlibs-4.12.97/akonadi/tests/testresource/knutresource.desktop 2014-03-26 08:20:40.000000000 +0100 @@ -6,6 +6,7 @@ Name[cs]=Knut Name[da]=Knut Name[de]=Knut +Name[el]=Knut Name[es]=Knut Name[fi]=Knut Name[fr]=Knut @@ -40,6 +41,7 @@ Comment[cs]=Agent pro ladicí účely Comment[da]=En agent til fejlretningsformål Comment[de]=Agent für die Fehlersuche +Comment[el]=Πράκτορας για αποσφαλμάτωση Comment[es]=Un agente para el propósito de depuración Comment[fi]=Vianjäljitykseen tarkoitettu agentti Comment[fr]=Un agent à des fins de débogage diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdepimlibs-4.12.90/akonadi/tests/testsearchplugin/akonaditestsearchplugin.desktop new/kdepimlibs-4.12.97/akonadi/tests/testsearchplugin/akonaditestsearchplugin.desktop --- old/kdepimlibs-4.12.90/akonadi/tests/testsearchplugin/akonaditestsearchplugin.desktop 2014-03-12 16:21:31.000000000 +0100 +++ new/kdepimlibs-4.12.97/akonadi/tests/testsearchplugin/akonaditestsearchplugin.desktop 2014-03-26 08:20:40.000000000 +0100 @@ -2,11 +2,14 @@ Type=AkonadiSearchPlugin Name=Akonadi Test Search Plugin Name[ca]=Connector de cerca de prova per a l'Akonadi +Name[ca@valencia]=Connector de cerca de prova per a l'Akonadi Name[cs]=Modul pro testování hledání v Akonadi Name[da]=Testsøge-plugin til Akonadi Name[de]=Akonadi-Testsuchmodul +Name[el]=Πρόσθετο δοκιμαστικής αναζήτησης Akonadi Name[es]=Complemento de prueba de búsqueda de Akonadi Name[fi]=Akonadin hakuliitännäinen testaustarkoituksiin +Name[fr]=Module externe de test pour les recherches Akonadi Name[hu]=Akonadi teszt keresés bővítmény Name[ko]=Akonadi 테스트 검색 플러그인 Name[nds]=Akonadi-Testsöökmoduul diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdepimlibs-4.12.90/cmake/modules/COPYING-CMAKE-SCRIPTS new/kdepimlibs-4.12.97/cmake/modules/COPYING-CMAKE-SCRIPTS --- old/kdepimlibs-4.12.90/cmake/modules/COPYING-CMAKE-SCRIPTS 1970-01-01 01:00:00.000000000 +0100 +++ new/kdepimlibs-4.12.97/cmake/modules/COPYING-CMAKE-SCRIPTS 2014-03-26 08:20:40.000000000 +0100 @@ -0,0 +1,22 @@ +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. +3. The name of the author may not be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdepimlibs-4.12.90/kabc/plugins/dir/dir.desktop new/kdepimlibs-4.12.97/kabc/plugins/dir/dir.desktop --- old/kdepimlibs-4.12.90/kabc/plugins/dir/dir.desktop 2014-03-12 16:21:31.000000000 +0100 +++ new/kdepimlibs-4.12.97/kabc/plugins/dir/dir.desktop 2014-03-26 08:20:40.000000000 +0100 @@ -54,7 +54,7 @@ Comment=Provides access to contacts, each stored in a single file, in a given folder. Supports standard vCard file and other formats depending on availability of plugins. Comment[bs]=Pruža pristup kontaktima skladištenim u poјedinačnim datotekama u datom direktoriju. Podržava standardne VCard datoteke i druge formate, prema raspoloživim priključcima. Comment[ca]=Proporciona l'accés als contactes, cadascun emmagatzemat en un fitxer individual, en una carpeta proporcionada. Accepta els fitxers estàndard vCard i altres formats depenent de la disponibilitat dels connectors. -Comment[ca@valencia]=Proporciona l'accés als contactes, cada un emmagatzemat en un fitxer individual, en una carpeta proporcionada. Accepta els fitxers estàndard vCard i altres formats depenent de la disponibilitat dels connectors. +Comment[ca@valencia]=Proporciona l'accés als contactes, cadascun emmagatzemat en un fitxer individual, en una carpeta proporcionada. Accepta els fitxers estàndard vCard i altres formats depenent de la disponibilitat dels connectors. Comment[cs]=Poskytuje přístup ke kontaktům, každém uloženém v jednom souboru v dané složce. Podporuje standardní soubory s vizitkou a jiným formátům podle dostupných modulů. Comment[da]=Giver adgang til kontakter, hver lagret i en enkelt fil, i en given mappe. Understøtter standard vCard-fil og andre formater afhængigt af tilgængeligheden af plugins. Comment[de]=Ermöglicht Zugriff auf Kontakte, die in einzelnen Dateien in einem vorgegebenen Ordner gespeichert sind. Unterstützt Standard-vCard-Dateien und andere Formate abhängig von den verfügbaren Modulen. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdepimlibs-4.12.90/kabc/vcardparser/testroundtrip.qrc new/kdepimlibs-4.12.97/kabc/vcardparser/testroundtrip.qrc --- old/kdepimlibs-4.12.90/kabc/vcardparser/testroundtrip.qrc 2014-03-12 16:21:31.000000000 +0100 +++ new/kdepimlibs-4.12.97/kabc/vcardparser/testroundtrip.qrc 2014-03-26 08:20:40.000000000 +0100 @@ -9,6 +9,7 @@ <file>tests/vcard6.vcf</file> <file>tests/vcard7.vcf</file> <file>tests/vcard8.vcf</file> + <file>tests/vcard9.vcf</file> </qresource> <!-- output files formatted for vcard version 2.1 --> @@ -26,5 +27,6 @@ <file>tests/vcard6.vcf.ref</file> <file>tests/vcard7.vcf.ref</file> <file>tests/vcard8.vcf.ref</file> + <file>tests/vcard9.vcf.ref</file> </qresource> </RCC> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdepimlibs-4.12.90/kabc/vcardparser/tests/vcard9.vcf new/kdepimlibs-4.12.97/kabc/vcardparser/tests/vcard9.vcf --- old/kdepimlibs-4.12.90/kabc/vcardparser/tests/vcard9.vcf 1970-01-01 01:00:00.000000000 +0100 +++ new/kdepimlibs-4.12.97/kabc/vcardparser/tests/vcard9.vcf 2014-03-26 08:20:40.000000000 +0100 @@ -0,0 +1,14 @@ +BEGIN:VCARD +FN:βγδεαβγδ1βγδεαβγδ1βγδεαβγδ1βγδεαβγδ1βγ + δεαβγδ1βγδεαβγδ1βγδεαβγδ1βγδεαβγδ1βγδεα + βγδ1βγδεαβγδ1βγδεαβγδ1 +N:123ㄓㄕㄖbcdeαβγδαβγδαβγδαβγδαβγδαβγδαβㄤ + ㄓㄕㄖ;;;; +NOTE:Длинный комментарий на русском языке\, + чтобы в результате получилась строка бо� + �ее 70 символов. +PRODID:-//ownCloud//NONSGML Contacts 0.3//EN +UID:20140316T155019.877e370c11@martin +VERSION:3.0 +END:VCARD + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdepimlibs-4.12.90/kabc/vcardparser/tests/vcard9.vcf.ref new/kdepimlibs-4.12.97/kabc/vcardparser/tests/vcard9.vcf.ref --- old/kdepimlibs-4.12.90/kabc/vcardparser/tests/vcard9.vcf.ref 1970-01-01 01:00:00.000000000 +0100 +++ new/kdepimlibs-4.12.97/kabc/vcardparser/tests/vcard9.vcf.ref 2014-03-26 08:20:40.000000000 +0100 @@ -0,0 +1,14 @@ +BEGIN:VCARD +FN:βγδεαβγδ1βγδεαβγδ1βγδεαβγδ1βγδεαβγδ1βγ + δεαβγδ1βγδεαβγδ1βγδεαβγδ1βγδεαβγδ1βγδεα + βγδ1βγδεαβγδ1βγδεαβγδ1 +N:123ㄓㄕㄖbcdeαβγδαβγδαβγδαβγδαβγδαβγδαβㄤ + ㄓㄕㄖ;;;; +NOTE:Длинный комментарий на русском языке\, + чтобы в результате получилась строка бо + лее 70 символов. +PRODID:-//ownCloud//NONSGML Contacts 0.3//EN +UID:20140316T155019.877e370c11@martin +VERSION:3.0 +END:VCARD + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdepimlibs-4.12.90/kabc/vcardparser/vcardparser.cpp new/kdepimlibs-4.12.97/kabc/vcardparser/vcardparser.cpp --- old/kdepimlibs-4.12.90/kabc/vcardparser/vcardparser.cpp 2014-03-12 16:21:31.000000000 +0100 +++ new/kdepimlibs-4.12.97/kabc/vcardparser/vcardparser.cpp 2014-03-26 08:20:40.000000000 +0100 @@ -289,6 +289,7 @@ } QByteArray input, output; + bool checkMultibyte = false; // avoid splitting a multibyte character // handle charset if ( ( *lineIt ).parameterList().contains( QLatin1String( "charset" ) ) ) { @@ -299,19 +300,23 @@ if ( codec ) { input = codec->fromUnicode( value ); } else { + checkMultibyte = true; input = value.toUtf8(); } } else if ( ( *lineIt ).value().type() == QVariant::ByteArray ) { input = ( *lineIt ).value().toByteArray(); } else { + checkMultibyte = true; input = ( *lineIt ).value().toString().toUtf8(); } // handle encoding if ( hasEncoding ) { // have to encode the data if ( encodingType == QLatin1String( "b" ) ) { + checkMultibyte = false; output = input.toBase64(); } else if ( encodingType == QLatin1String( "quoted-printable" ) ) { + checkMultibyte = false; KCodecs::quotedPrintableEncode( input, output, false ); } } else { @@ -323,9 +328,42 @@ textLine.append( ':' + output ); if ( textLine.length() > FOLD_WIDTH ) { // we have to fold the line - for ( int i = 0; i <= ( textLine.length() / FOLD_WIDTH ); ++i ) { - text.append( - ( i == 0 ? "" : " " ) + textLine.mid( i * FOLD_WIDTH, FOLD_WIDTH ) + "\r\n" ); + if ( checkMultibyte ) { + // RFC 6350: Multi-octet characters MUST remain contiguous. + // we know that textLine contains UTF-8 encoded characters + int lineLength = 0; + for ( int i = 0; i < textLine.length(); ++i ) { + if ( (textLine[i] & 0xC0) == 0xC0 ) { // a multibyte sequence follows + int sequenceLength = 2; + if ( (textLine[i] & 0xE0) == 0xE0 ) { + sequenceLength = 3; + } else if ( (textLine[i] & 0xF0) == 0xF0 ) { + sequenceLength = 4; + } + if ( (lineLength + sequenceLength) > FOLD_WIDTH ) { + // the current line would be too long. fold it + text += "\r\n " + textLine.mid(i, sequenceLength); + lineLength = 1 + sequenceLength; // incl. leading space + } else { + text += textLine.mid(i, sequenceLength); + lineLength += sequenceLength; + } + i += sequenceLength - 1; + } else { + text += textLine[i]; + lineLength++; + } + if ( (lineLength == FOLD_WIDTH) && (i < (textLine.length() - 1)) ) { + text += "\r\n "; + lineLength = 1; // leading space + } + } + text += "\r\n"; + } else { + for ( int i = 0; i <= ( textLine.length() / FOLD_WIDTH ); ++i ) { + text.append( + ( i == 0 ? "" : " " ) + textLine.mid( i * FOLD_WIDTH, FOLD_WIDTH ) + "\r\n" ); + } } } else { text.append( textLine + "\r\n" ); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdepimlibs-4.12.90/kcal/localdir.desktop new/kdepimlibs-4.12.97/kcal/localdir.desktop --- old/kdepimlibs-4.12.90/kcal/localdir.desktop 2014-03-12 16:21:31.000000000 +0100 +++ new/kdepimlibs-4.12.97/kcal/localdir.desktop 2014-03-26 08:20:40.000000000 +0100 @@ -55,7 +55,7 @@ Comment=Provides access to calendar items, each stored in a single file, in a given directory Comment[bs]=Pruža pristup kalendarskim stavkama, skladištenim u poјedinačnim faјlovima u datoј fascikli Comment[ca]=Proporciona l'accés als elements d'un calendari, cadascun emmagatzemat en un fitxer individual, en un directori proporcionat -Comment[ca@valencia]=Proporciona l'accés als elements d'un calendari, cada un emmagatzemat en un fitxer individual, en un directori proporcionat +Comment[ca@valencia]=Proporciona l'accés als elements d'un calendari, cadascun emmagatzemat en un fitxer individual, en un directori proporcionat Comment[cs]=Poskytuje přístup k položkám kalendáře, každé uložené v jednom souboru v daném adresáři Comment[da]=Giver adgang til kalenderelementer, hver lagret i en enkelt fil, i en given mappe Comment[de]=Ermöglicht Zugriff auf Kalender, die jeweils in einzelnen Dateien in einem vorgegebenen Ordner gespeichert sind diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdepimlibs-4.12.90/kioslave/sieve/sieve.protocol new/kdepimlibs-4.12.97/kioslave/sieve/sieve.protocol --- old/kdepimlibs-4.12.90/kioslave/sieve/sieve.protocol 2014-03-12 16:21:31.000000000 +0100 +++ new/kdepimlibs-4.12.97/kioslave/sieve/sieve.protocol 2014-03-26 08:20:40.000000000 +0100 @@ -15,7 +15,7 @@ Description=An ioslave for the Sieve mail filtering protocol Description[bs]=U/I program za Sieve protokol filtriranja e-pošte Description[ca]=Un «ioslave» pel protocol de filtratge de correu «Sieve» -Description[ca@valencia]=Un «ioslave» pel protocol de filtrat de correu Sieve +Description[ca@valencia]=Un «ioslave» pel protocol de filtratge de correu «Sieve» Description[cs]=Protokol pro filtrování pošty Sieve Description[da]=En ioslave til mail-filtreringsprotokollen Sieve Description[de]=Ein Ein-/Ausgabemodul für das Mailfilter-Protokoll Sieve diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdepimlibs-4.12.90/kmbox/mbox_p.cpp new/kdepimlibs-4.12.97/kmbox/mbox_p.cpp --- old/kdepimlibs-4.12.90/kmbox/mbox_p.cpp 2014-03-12 16:21:31.000000000 +0100 +++ new/kdepimlibs-4.12.97/kmbox/mbox_p.cpp 2014-03-26 08:20:40.000000000 +0100 @@ -21,6 +21,7 @@ #include <KDebug> #include <KUrl> +#include <QLocale> using namespace KMBox; @@ -102,12 +103,15 @@ separator += from->addresses().first() + ' '; } + // format dateTime according to the mbox "standard" RFC4155 KMime::Headers::Date *date = mail.date( false ); + QDateTime dateTime; if ( !date || date->isEmpty() ) { - separator += QDateTime::currentDateTime().toString( Qt::TextDate ).toUtf8() + '\n'; + dateTime = QDateTime::currentDateTimeUtc(); } else { - separator += date->as7BitString( false ) + '\n'; + dateTime = date->dateTime().toUtc().dateTime(); } + separator += QLocale::c().toString(dateTime, QLatin1String("ddd MMM dd HH:mm:ss yyyy")).toUtf8() + '\n'; return separator; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdepimlibs-4.12.90/kresources/kresources.desktop new/kdepimlibs-4.12.97/kresources/kresources.desktop --- old/kdepimlibs-4.12.90/kresources/kresources.desktop 2014-03-12 16:21:31.000000000 +0100 +++ new/kdepimlibs-4.12.97/kresources/kresources.desktop 2014-03-26 08:20:40.000000000 +0100 @@ -120,7 +120,7 @@ X-KDE-Keywords=resources,konnector resource,contact resource,calendar resource,notes resource,alarm resource,imap X-KDE-Keywords[bs]=resources,konnector resource,contact resource,calendar resource,notes resource,alarm resource,imap, resursi, kontakt resursi, alarmni resursi X-KDE-Keywords[ca]=recursos,recurs de konnector,recurs de contactes,recurs de calendari,recurs de notes,recurs d'alarmes,imap -X-KDE-Keywords[ca@valencia]=recursos,recurs de konnector,recurs de contacte,recurs de calendari,recurs de notes,recurs d'alarma,imap +X-KDE-Keywords[ca@valencia]=recursos,recurs de konnector,recurs de contactes,recurs de calendari,recurs de notes,recurs d'alarmes,imap X-KDE-Keywords[da]=ressourcer,konnector-ressource,kontakt-ressource,kalender-ressource,note-ressource,alarm-ressource,imap X-KDE-Keywords[de]=resources,konnector resource,contact resource,calendar resource,notes resource,alarm resource,imap X-KDE-Keywords[el]=πόροι,πόρος konnector,επαφή,πόρος,πόρος ημερολογίου,πόρος σημειώσεων,πόρος ειδοποιήσεων,imap diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdepimlibs-4.12.90/mailtransport/kcm_mailtransport.desktop new/kdepimlibs-4.12.97/mailtransport/kcm_mailtransport.desktop --- old/kdepimlibs-4.12.90/mailtransport/kcm_mailtransport.desktop 2014-03-12 16:21:31.000000000 +0100 +++ new/kdepimlibs-4.12.97/mailtransport/kcm_mailtransport.desktop 2014-03-26 08:20:40.000000000 +0100 @@ -40,7 +40,7 @@ Name[lv]=Pasta transports Name[mr]=मेल वाहतुक Name[nb]=E-post-transport -Name[nds]=Överdreegmetood +Name[nds]=Nettpost-Överdreegmetood Name[nl]=E-mailtransport Name[nn]=E-posttransport Name[pa]=ਮੇਲ ਟਰਾਂਸਪੋਰਟ -- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
