openSUSE Commits
Threads by month
- ----- 2024 -----
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
September 2014
- 1 participants
- 1675 discussions
Hello community,
here is the log from the commit of package kdepimlibs4 for openSUSE:Factory checked in at 2014-09-18 07:57:10
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
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-09-12 11:19:16.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.kdepimlibs4.new/kdepimlibs4.changes 2014-09-18 07:57:35.000000000 +0200
@@ -1,0 +2,7 @@
+Sat Sep 13 16:21:00 UTC 2014 - tittiatcoke(a)gmail.com
+
+- Update to 4.14.1
+ * KDE 4.14.1 SC Bugfix Release
+ * See http://www.kde.org/announcements/announce-4.14.1.php
+
+-------------------------------------------------------------------
Old:
----
kdepimlibs-4.14.0.tar.xz
New:
----
kdepimlibs-4.14.1.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ kdepimlibs4.spec ++++++
--- /var/tmp/diff_new_pack.N4dLdY/_old 2014-09-18 07:57:36.000000000 +0200
+++ /var/tmp/diff_new_pack.N4dLdY/_new 2014-09-18 07:57:36.000000000 +0200
@@ -17,7 +17,7 @@
Name: kdepimlibs4
-Version: 4.14.0
+Version: 4.14.1
Release: 0
Summary: KDE PIM Libraries
License: LGPL-2.1+
++++++ kdepimlibs-4.14.0.tar.xz -> kdepimlibs-4.14.1.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdepimlibs-4.14.0/CMakeLists.txt new/kdepimlibs-4.14.1/CMakeLists.txt
--- old/kdepimlibs-4.14.0/CMakeLists.txt 2014-08-13 09:43:09.000000000 +0200
+++ new/kdepimlibs-4.14.1/CMakeLists.txt 2014-09-10 22:48:29.000000000 +0200
@@ -7,7 +7,7 @@
############### The kdepimlibs version (used e.g. in KdepimLibsConfig.cmake) ###############
set(KDEPIMLIBS_VERSION_MAJOR 4)
set(KDEPIMLIBS_VERSION_MINOR 14)
-set(KDEPIMLIBS_VERSION_PATCH 0)
+set(KDEPIMLIBS_VERSION_PATCH 1)
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.14.0/akonadi/contact/editor/im/kaddressbookimprotocol.desktop new/kdepimlibs-4.14.1/akonadi/contact/editor/im/kaddressbookimprotocol.desktop
--- old/kdepimlibs-4.14.0/akonadi/contact/editor/im/kaddressbookimprotocol.desktop 2014-08-13 09:43:09.000000000 +0200
+++ new/kdepimlibs-4.14.1/akonadi/contact/editor/im/kaddressbookimprotocol.desktop 2014-09-10 22:48:29.000000000 +0200
@@ -37,7 +37,7 @@
Name[ro]=Protocol de mesagerie instantanee a cărții de adrese
Name[ru]=Протокол обмена мгновенными сообщениями KAddressBook
Name[sk]=Protokol KAddressbook Instant Messaging
-Name[sl]=Protokol takojšnjega sporočanja v KAddressBook
+Name[sl]=Protokol hipnega sporočanja za KAddressBook
Name[sr]=Брзогласнички протокол К‑адресара
Name[sr@ijekavian]=Брзогласнички протокол К‑адресара
Name[sr@ijekavianlatin]=Brzoglasnički protokol K‑adresara
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdepimlibs-4.14.0/akonadi/contact/editor/im/protocols/skypeprotocol.desktop new/kdepimlibs-4.14.1/akonadi/contact/editor/im/protocols/skypeprotocol.desktop
--- old/kdepimlibs-4.14.0/akonadi/contact/editor/im/protocols/skypeprotocol.desktop 2014-08-13 09:43:09.000000000 +0200
+++ new/kdepimlibs-4.14.1/akonadi/contact/editor/im/protocols/skypeprotocol.desktop 2014-09-10 22:48:29.000000000 +0200
@@ -39,7 +39,7 @@
Comment[ro]=Telefonie prin internet Skype
Comment[ru]=Интернет-телефония Skype
Comment[sk]=Skype Internet Telephony
-Comment[sl]=Medmrežna telefonija Skype
+Comment[sl]=Internetna telefonija Skype
Comment[sr]=Скајп, интернет телефонија
Comment[sr@ijekavian]=Скајп, интернет телефонија
Comment[sr@ijekavianlatin]=Skype, internet telefonija
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdepimlibs-4.14.0/akonadi/entitycache_p.h new/kdepimlibs-4.14.1/akonadi/entitycache_p.h
--- old/kdepimlibs-4.14.0/akonadi/entitycache_p.h 2014-08-13 09:43:09.000000000 +0200
+++ new/kdepimlibs-4.14.1/akonadi/entitycache_p.h 2014-09-10 22:48:29.000000000 +0200
@@ -33,6 +33,7 @@
#include "akonadiprivate_export.h"
+#include <kdebug.h>
#include <qobject.h>
#include <QQueue>
#include <QVariant>
@@ -194,8 +195,11 @@
void processResult(KJob *job)
{
- // Error handling?
typename T::Id id = job->property("EntityCacheNode").template value<typename T::Id>();
+ // Error handling?
+ if ( job->error() ) {
+ kWarning() << job->errorString();
+ }
EntityCacheNode<T> *node = cacheNodeForId(id);
if (!node) {
return; // got replaced in the meantime
@@ -458,6 +462,9 @@
void processResult(KJob *job)
{
+ if ( job->error() ) {
+ kWarning() << job->errorString();
+ }
const QList<Entity::Id> ids = job->property("EntityListCacheIds").value< QList<Entity::Id> >();
typename T::List entities;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdepimlibs-4.14.0/akonadi/entitytreemodel_p.cpp new/kdepimlibs-4.14.1/akonadi/entitytreemodel_p.cpp
--- old/kdepimlibs-4.14.0/akonadi/entitytreemodel_p.cpp 2014-08-13 09:43:09.000000000 +0200
+++ new/kdepimlibs-4.14.1/akonadi/entitytreemodel_p.cpp 2014-09-10 22:48:29.000000000 +0200
@@ -380,6 +380,18 @@
}
}
+static QSet<Collection::Id> getChildren(Collection::Id parent, const QHash<Collection::Id, Collection::Id> &childParentMap)
+{
+ QSet<Collection::Id> children;
+ Q_FOREACH (Collection::Id c, childParentMap.keys()) {
+ if (childParentMap.value(c) == parent) {
+ children << c;
+ children += getChildren(c, childParentMap);
+ }
+ }
+ return children;
+}
+
void EntityTreeModelPrivate::collectionsFetched(const Akonadi::Collection::List &collections)
{
Q_Q(EntityTreeModel);
@@ -389,22 +401,13 @@
QListIterator<Akonadi::Collection> it(collections);
QHash<Collection::Id, Collection> collectionsToInsert;
- QHash<Collection::Id, QVector<Collection::Id> > subTreesToInsert;
- QHash<Collection::Id, Collection> parents;
while (it.hasNext()) {
const Collection collection = it.next();
const Collection::Id collectionId = collection.id();
- // If a collection is hidden, we still need to put it in the model if it has a
- // non-hidden child. We rely on the fact that children will be returned
- // first and will be in collectionsToInsert (if returned in this batch)
- // or will already be in the model as a dummy node in m_collections
- // if returned and processed in an earlier batch.
- if (isHidden(collection) &&
- !collectionsToInsert.contains(collectionId) &&
- !m_collections.contains(collectionId)) {
+ if (isHidden(collection)) {
continue;
}
@@ -428,49 +431,69 @@
retrieveAncestors(collection, false);
}
- Collection parent = collection;
+ collectionsToInsert.insert(collectionId, collection);
+ }
- while (!m_collections.contains(parent.parentCollection().id())) {
- if (!subTreesToInsert[parent.parentCollection().id()].contains(parent.parentCollection().id())) {
- subTreesToInsert[parent.parentCollection().id()].append(parent.parentCollection().id());
- collectionsToInsert.insert(parent.parentCollection().id(), parent.parentCollection());
- }
+ //Build a list of subtrees to insert, with the root of the subtree on the left, and the complete subtree including root on the right
+ QHash<Collection::Id, QSet<Collection::Id> > subTreesToInsert;
+ {
+ //Build a child-parent map that allows us to build the subtrees afterwards
+ QHash<Collection::Id, Collection::Id> childParentMap;
+ Q_FOREACH (const Collection &col, collectionsToInsert) {
+ childParentMap.insert(col.id(), col.parentCollection().id());
+
+ //Complete the subtree up to the last known parent
+ Collection parent = col.parentCollection();
+ while (parent.isValid() && parent != m_rootCollection && !m_collections.contains(parent.id())) {
+ childParentMap.insert(parent.id(), parent.parentCollection().id());
- foreach (Collection::Id collectionId, subTreesToInsert.take(parent.id())) {
- if (!subTreesToInsert[parent.parentCollection().id()].contains(collectionId)) {
- subTreesToInsert[parent.parentCollection().id()].append(collectionId);
+ if (!collectionsToInsert.contains(parent.id())) {
+ collectionsToInsert.insert(parent.id(), parent);
}
+ parent = parent.parentCollection();
}
-
- parent = parent.parentCollection();
}
- if (!subTreesToInsert[parent.id()].contains(collectionId)) {
- subTreesToInsert[parent.id()].append(collectionId);
+ QSet<Collection::Id> parents;
+
+ //Find toplevel parents of the subtrees
+ Q_FOREACH (Collection::Id c, childParentMap.keys()) {
+ //The child has a parent without parent (it's a toplevel node that is not yet in m_collections)
+ if (!childParentMap.contains(childParentMap.value(c))) {
+ Q_ASSERT(!m_collections.contains(c));
+ parents << c;
+ }
}
- collectionsToInsert.insert(collectionId, collection);
- if (!parents.contains(parent.id())) {
- parents.insert(parent.id(), parent.parentCollection());
+ //Find children of each subtree
+ Q_FOREACH (Collection::Id p, parents) {
+ QSet<Collection::Id> children;
+ //We add the parent itself as well so it can be inserted below as part of the same loop
+ children << p;
+ children += getChildren(p, childParentMap);
+ subTreesToInsert[p] = children;
}
}
const int row = 0;
- QHashIterator<Collection::Id, QVector<Collection::Id> > collectionIt(subTreesToInsert);
+ QHashIterator<Collection::Id, QSet<Collection::Id> > collectionIt(subTreesToInsert);
while (collectionIt.hasNext()) {
collectionIt.next();
const Collection::Id topCollectionId = collectionIt.key();
+ kDebug() << "Subtree: " << topCollectionId << collectionIt.value();
Q_ASSERT(!m_collections.contains(topCollectionId));
+ Collection topCollection = collectionsToInsert.value(topCollectionId);
+ Q_ASSERT(topCollection.isValid());
- Q_ASSERT(parents.contains(topCollectionId));
- const QModelIndex parentIndex = indexForCollection(parents.value(topCollectionId));
+ //The toplevels parent must already be part of the model
+ Q_ASSERT(m_collections.contains(topCollection.parentCollection().id()));
+ const QModelIndex parentIndex = indexForCollection(topCollection.parentCollection());
q->beginInsertRows(parentIndex, row, row);
Q_ASSERT(!collectionIt.value().isEmpty());
- Q_ASSERT(m_collections.contains(parents.value(topCollectionId).id()));
foreach (Collection::Id collectionId, collectionIt.value()) {
const Collection collection = collectionsToInsert.take(collectionId);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdepimlibs-4.14.0/akonadi/itemfetchscope.cpp new/kdepimlibs-4.14.1/akonadi/itemfetchscope.cpp
--- old/kdepimlibs-4.14.0/akonadi/itemfetchscope.cpp 2014-08-13 09:43:09.000000000 +0200
+++ new/kdepimlibs-4.14.1/akonadi/itemfetchscope.cpp 2014-09-10 22:48:29.000000000 +0200
@@ -194,6 +194,21 @@
return d->mFetchTags;
}
+void ItemFetchScope::setTagFetchScope(const TagFetchScope &tagFetchScope)
+{
+ d->mTagFetchScope = tagFetchScope;
+}
+
+TagFetchScope &ItemFetchScope::tagFetchScope()
+{
+ return d->mTagFetchScope;
+}
+
+TagFetchScope ItemFetchScope::tagFetchScope() const
+{
+ return d->mTagFetchScope;
+}
+
void ItemFetchScope::setFetchVirtualReferences(bool fetchVRefs)
{
d->mFetchVRefs = fetchVRefs;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdepimlibs-4.14.0/akonadi/itemfetchscope.h new/kdepimlibs-4.14.1/akonadi/itemfetchscope.h
--- old/kdepimlibs-4.14.0/akonadi/itemfetchscope.h 2014-08-13 09:43:09.000000000 +0200
+++ new/kdepimlibs-4.14.1/akonadi/itemfetchscope.h 2014-09-10 22:48:29.000000000 +0200
@@ -31,6 +31,7 @@
namespace Akonadi {
class ItemFetchScopePrivate;
+class TagFetchScope;
/**
* @short Specifies which parts of an item should be fetched from the Akonadi storage.
@@ -346,6 +347,49 @@
bool fetchTags() const;
/**
+ * Sets the tag fetch scope.
+ *
+ * The TagFetchScope controls how much of an tags's data is fetched
+ * from the server.
+ *
+ * By default setFetchIdOnly is set to true on the tag fetch scope.
+ *
+ * @param fetchScope The new fetch scope for tag fetch operations.
+ * @see fetchScope()
+ * @since 4.15
+ */
+ void setTagFetchScope(const TagFetchScope &fetchScope);
+
+ /**
+ * Returns the tag fetch scope.
+ *
+ * Since this returns a reference it can be used to conveniently modify the
+ * current scope in-place, i.e. by calling a method on the returned reference
+ * without storing it in a local variable. See the TagFetchScope documentation
+ * for an example.
+ *
+ * By default setFetchIdOnly is set to true on the tag fetch scope.
+ *
+ * @return a reference to the current tag fetch scope
+ *
+ * @see setFetchScope() for replacing the current tag fetch scope
+ * @since 4.15
+ */
+ TagFetchScope &tagFetchScope();
+
+ /**
+ * Returns the tag fetch scope.
+ *
+ * By default setFetchIdOnly is set to true on the tag fetch scope.
+ *
+ * @return a reference to the current tag fetch scope
+ *
+ * @see setFetchScope() for replacing the current tag fetch scope
+ * @since 4.15
+ */
+ TagFetchScope tagFetchScope() const;
+
+ /**
* Returns whether to fetch list of virtual collections the item is linked to
*
* @param fetchVRefs whether or not to fetch virtualc references
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdepimlibs-4.14.0/akonadi/itemfetchscope_p.h new/kdepimlibs-4.14.1/akonadi/itemfetchscope_p.h
--- old/kdepimlibs-4.14.0/akonadi/itemfetchscope_p.h 2014-08-13 09:43:09.000000000 +0200
+++ new/kdepimlibs-4.14.1/akonadi/itemfetchscope_p.h 2014-09-10 22:48:29.000000000 +0200
@@ -24,6 +24,7 @@
#include <QtCore/QString>
#include <KDE/KDateTime>
#include "itemfetchscope.h"
+#include "tagfetchscope.h"
namespace Akonadi {
@@ -46,6 +47,7 @@
, mFetchTags(false)
, mFetchVRefs(false)
{
+ mTagFetchScope.setFetchIdOnly(true);
}
ItemFetchScopePrivate(const ItemFetchScopePrivate &other)
@@ -64,6 +66,7 @@
mFetchRid = other.mFetchRid;
mFetchGid = other.mFetchGid;
mFetchTags = other.mFetchTags;
+ mTagFetchScope = other.mTagFetchScope;
mFetchVRefs = other.mFetchVRefs;
}
@@ -81,6 +84,7 @@
bool mFetchRid;
bool mFetchGid;
bool mFetchTags;
+ TagFetchScope mTagFetchScope;
bool mFetchVRefs;
};
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdepimlibs-4.14.0/akonadi/itemmodifyjob.cpp new/kdepimlibs-4.14.1/akonadi/itemmodifyjob.cpp
--- old/kdepimlibs-4.14.0/akonadi/itemmodifyjob.cpp 2014-08-13 09:43:09.000000000 +0200
+++ new/kdepimlibs-4.14.1/akonadi/itemmodifyjob.cpp 2014-09-10 22:48:29.000000000 +0200
@@ -116,6 +116,45 @@
mSilent = silent;
}
+QByteArray ItemModifyJobPrivate::tagsToCommandParameter(const Tag::List &tags) const
+{
+ QByteArray c;
+ if (tags.first().id() >= 0) {
+ c += "TAGS";
+ c += ' ' + ProtocolHelper::tagSetToImapSequenceSet(tags);
+ } else if (std::find_if(tags.constBegin(), tags.constEnd(),
+ boost::bind(&QByteArray::isEmpty, boost::bind(&Tag::remoteId, _1)))
+ == tags.constEnd()) {
+ //All items have a remoteId
+ c += "RTAGS";
+ QList<QByteArray> rids;
+ Q_FOREACH (const Tag &object, tags) {
+ rids << ImapParser::quote(object.remoteId());
+ }
+
+ c += '(';
+ c += ImapParser::join(rids, " ");
+ c += ')';
+
+ } else if (std::find_if(tags.constBegin(), tags.constEnd(),
+ boost::bind(&QByteArray::isEmpty, boost::bind(&Tag::gid, _1)))
+ == tags.constEnd()) {
+ //All items have a gid
+ c += "GTAGS";
+ QList<QByteArray> gids;
+ Q_FOREACH (const Tag &object, tags) {
+ gids << ImapParser::quote(object.gid());
+ }
+
+ c += '(';
+ c += ImapParser::join(gids, " ");
+ c += ')';
+ } else {
+ throw Exception("Cannot identify all tags");
+ }
+ return c;
+}
+
ItemModifyJob::ItemModifyJob(const Item &item, QObject *parent)
: Job(new ItemModifyJobPrivate(this), parent)
{
@@ -205,16 +244,13 @@
}
if (item.d_func()->mTagsOverwritten) {
- changes << "TAGS";
- changes << ' ' + ProtocolHelper::tagSetToImapSequenceSet(item.tags());
+ changes << tagsToCommandParameter(item.tags());
} else {
if (!item.d_func()->mAddedTags.isEmpty()) {
- changes << "+TAGS";
- changes << ' ' + ProtocolHelper::tagSetToImapSequenceSet(item.d_func()->mAddedTags);
+ changes << "+" + tagsToCommandParameter(item.d_func()->mAddedTags);
}
if (!item.d_func()->mDeletedTags.isEmpty()) {
- changes << "-TAGS";
- changes << ' ' + ProtocolHelper::tagSetToImapSequenceSet(item.d_func()->mDeletedTags);
+ changes << "-" + tagsToCommandParameter(item.d_func()->mDeletedTags);
}
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdepimlibs-4.14.0/akonadi/itemmodifyjob_p.h new/kdepimlibs-4.14.1/akonadi/itemmodifyjob_p.h
--- old/kdepimlibs-4.14.0/akonadi/itemmodifyjob_p.h 2014-08-13 09:43:09.000000000 +0200
+++ new/kdepimlibs-4.14.1/akonadi/itemmodifyjob_p.h 2014-09-10 22:48:29.000000000 +0200
@@ -49,6 +49,7 @@
QString jobDebuggingString() const /*Q_DECL_OVERRIDE*/;
QByteArray fullCommand() const;
+ QByteArray tagsToCommandParameter(const Tag::List &tags) const;
void setSilent( bool silent );
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdepimlibs-4.14.0/akonadi/protocolhelper.cpp new/kdepimlibs-4.14.1/akonadi/protocolhelper.cpp
--- old/kdepimlibs-4.14.0/akonadi/protocolhelper.cpp 2014-08-13 09:43:09.000000000 +0200
+++ new/kdepimlibs-4.14.1/akonadi/protocolhelper.cpp 2014-09-10 22:48:29.000000000 +0200
@@ -26,6 +26,7 @@
#include "itemserializer_p.h"
#include "itemserializerplugin.h"
#include "servermanager.h"
+#include "tagfetchscope.h"
#include <akonadi/private/xdgbasedirs_p.h>
#include <QtCore/QDateTime>
@@ -445,8 +446,12 @@
command += " " AKONADI_PARAM_REMOTEID " " AKONADI_PARAM_REMOTEREVISION;
if ( fetchScope.fetchGid() )
command += " GID";
- if ( fetchScope.fetchTags() )
+ if ( fetchScope.fetchTags() ) {
command += " TAGS";
+ if ( !fetchScope.tagFetchScope().fetchIdOnly() ) {
+ command += " " + ProtocolHelper::tagFetchScopeToByteArray( fetchScope.tagFetchScope() );
+ }
+ }
if ( fetchScope.fetchVirtualReferences() )
command += " VIRTREF";
if ( fetchScope.fetchModificationTime() )
@@ -460,6 +465,41 @@
return command;
}
+QByteArray ProtocolHelper::tagFetchScopeToByteArray( const TagFetchScope &fetchScope )
+{
+ QByteArray command;
+
+ command += "(UID";
+ Q_FOREACH (const QByteArray &part, fetchScope.attributes()) {
+ command += ' ' + ProtocolHelper::encodePartIdentifier(ProtocolHelper::PartAttribute, part);
+ }
+ command += ")";
+ return command;
+}
+
+static Item::Flags convertFlags( const QList<QByteArray>& flags, ProtocolHelperValuePool *valuePool )
+{
+#if __cplusplus >= 201103L || defined(__GNUC__) || defined(__clang__)
+ // When the compiler supports thread-safe static initialization (mandated by the C++11 memory model)
+ // then use it to share the common case of a single-item set only containing the \SEEN flag.
+ // NOTE: GCC and clang has threadsafe static initialization for some time now, even without C++11.
+ if (flags.size() == 1 && flags.first() == "\\SEEN") {
+ static const Item::Flags sharedSeen = Item::Flags() << QByteArray( "\\SEEN" );
+ return sharedSeen;
+ }
+#endif
+
+ Item::Flags convertedFlags;
+ convertedFlags.reserve( flags.size() );
+ foreach ( const QByteArray &flag, flags ) {
+ if ( valuePool )
+ convertedFlags.insert( valuePool->flagPool.sharedValue( flag ) );
+ else
+ convertedFlags.insert( flag );
+ }
+ return convertedFlags;
+}
+
void ProtocolHelper::parseItemFetchResult( const QList<QByteArray> &lineTokens, Item &item, ProtocolHelperValuePool *valuePool )
{
// create a new item object
@@ -525,26 +565,30 @@
QList<QByteArray> flags;
ImapParser::parseParenthesizedList( lineTokens[i + 1], flags );
if ( !flags.isEmpty() ) {
- Item::Flags convertedFlags;
- convertedFlags.reserve( flags.size() );
- foreach ( const QByteArray &flag, flags ) {
- if ( valuePool )
- convertedFlags.insert( valuePool->flagPool.sharedValue( flag ) );
- else
- convertedFlags.insert( flag );
- }
- item.setFlags( convertedFlags );
+ item.setFlags( convertFlags( flags, valuePool ) );
}
} else if ( key == "TAGS" ) {
- ImapSet set;
- ImapParser::parseSequenceSet( lineTokens[i + 1], set );
Tag::List tags;
- Q_FOREACH ( const ImapInterval &interval, set.intervals() ) {
- Q_ASSERT( interval.hasDefinedBegin() );
- Q_ASSERT( interval.hasDefinedEnd() );
- for ( qint64 i = interval.begin(); i <= interval.end(); i++ ) {
- //TODO use value pool when tag is shared data
- tags << Tag( i );
+ if ( lineTokens[i + 1].startsWith("(") ) {
+ QList<QByteArray> tagsData;
+ ImapParser::parseParenthesizedList( lineTokens[i + 1], tagsData );
+ Q_FOREACH (const QByteArray &t, tagsData) {
+ QList<QByteArray> tagParts;
+ ImapParser::parseParenthesizedList( t, tagParts );
+ Tag tag;
+ parseTagFetchResult(tagParts, tag);
+ tags << tag;
+ }
+ } else {
+ ImapSet set;
+ ImapParser::parseSequenceSet( lineTokens[i + 1], set );
+ Q_FOREACH ( const ImapInterval &interval, set.intervals() ) {
+ Q_ASSERT( interval.hasDefinedBegin() );
+ Q_ASSERT( interval.hasDefinedEnd() );
+ for ( qint64 i = interval.begin(); i <= interval.end(); i++ ) {
+ //TODO use value pool when tag is shared data
+ tags << Tag( i );
+ }
}
}
item.setTags( tags );
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdepimlibs-4.14.0/akonadi/protocolhelper_p.h new/kdepimlibs-4.14.1/akonadi/protocolhelper_p.h
--- old/kdepimlibs-4.14.0/akonadi/protocolhelper_p.h 2014-08-13 09:43:09.000000000 +0200
+++ new/kdepimlibs-4.14.1/akonadi/protocolhelper_p.h 2014-09-10 22:48:29.000000000 +0200
@@ -224,6 +224,11 @@
static QByteArray itemFetchScopeToByteArray(const ItemFetchScope &fetchScope);
/**
+ Converts a given TagFetchScope object into a protocol representation.
+ */
+ static QByteArray tagFetchScopeToByteArray( const TagFetchScope &fetchScope );
+
+ /**
Parses a single line from an item fetch job result into an Item object.
*/
static void parseItemFetchResult(const QList<QByteArray> &lineTokens, Item &item, ProtocolHelperValuePool *valuePool = 0);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdepimlibs-4.14.0/akonadi/resourcebase.cpp new/kdepimlibs-4.14.1/akonadi/resourcebase.cpp
--- old/kdepimlibs-4.14.0/akonadi/resourcebase.cpp 2014-08-13 09:43:09.000000000 +0200
+++ new/kdepimlibs-4.14.1/akonadi/resourcebase.cpp 2014-09-10 22:48:29.000000000 +0200
@@ -312,6 +312,11 @@
changeProcessed();
return;
}
+ if (!item.parentCollection().isValid()) {
+ kWarning() << "Invalid parent collection for item" << item.id();
+ changeProcessed();
+ return;
+ }
AgentBasePrivate::itemRemoved(item);
}
@@ -319,6 +324,10 @@
{
Item::List validItems;
foreach (const Akonadi::Item &item, items) {
+ if (!item.parentCollection().isValid()) {
+ kWarning() << "Invalid parent collection for item" << item.id();
+ continue;
+ }
if (!item.remoteId().isEmpty()) {
validItems << item;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdepimlibs-4.14.0/akonadi/tagfetchjob.cpp new/kdepimlibs-4.14.1/akonadi/tagfetchjob.cpp
--- old/kdepimlibs-4.14.0/akonadi/tagfetchjob.cpp 2014-08-13 09:43:09.000000000 +0200
+++ new/kdepimlibs-4.14.1/akonadi/tagfetchjob.cpp 2014-09-10 22:48:29.000000000 +0200
@@ -134,11 +134,7 @@
return;
}
}
- command += " (UID";
- Q_FOREACH (const QByteArray &part, d->mFetchScope.attributes()) {
- command += ' ' + ProtocolHelper::encodePartIdentifier(ProtocolHelper::PartAttribute, part);
- }
- command += ")\n";
+ command += " " + ProtocolHelper::tagFetchScopeToByteArray(d->mFetchScope) + "\n";
d->writeData(command);
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdepimlibs-4.14.0/akonadi/tagfetchscope.cpp new/kdepimlibs-4.14.1/akonadi/tagfetchscope.cpp
--- old/kdepimlibs-4.14.0/akonadi/tagfetchscope.cpp 2014-08-13 09:43:09.000000000 +0200
+++ new/kdepimlibs-4.14.1/akonadi/tagfetchscope.cpp 2014-09-10 22:48:29.000000000 +0200
@@ -24,7 +24,13 @@
struct Akonadi::TagFetchScope::Private
{
+ Private()
+ : mFetchIdOnly(false)
+ {
+ }
+
QSet<QByteArray> mAttributes;
+ bool mFetchIdOnly;
};
TagFetchScope::TagFetchScope()
@@ -46,6 +52,7 @@
TagFetchScope &TagFetchScope::operator=(const TagFetchScope &other)
{
d->mAttributes = other.d->mAttributes;
+ d->mFetchIdOnly = other.d->mFetchIdOnly;
return *this;
}
@@ -62,3 +69,15 @@
d->mAttributes.remove(type);
}
}
+
+void TagFetchScope::setFetchIdOnly(bool idOnly)
+{
+ d->mFetchIdOnly = idOnly;
+ d->mAttributes.clear();
+}
+
+bool TagFetchScope::fetchIdOnly() const
+{
+ return d->mFetchIdOnly;
+}
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdepimlibs-4.14.0/akonadi/tagfetchscope.h new/kdepimlibs-4.14.1/akonadi/tagfetchscope.h
--- old/kdepimlibs-4.14.0/akonadi/tagfetchscope.h 2014-08-13 09:43:09.000000000 +0200
+++ new/kdepimlibs-4.14.1/akonadi/tagfetchscope.h 2014-09-10 22:48:29.000000000 +0200
@@ -85,6 +85,23 @@
fetchAttribute(dummy.type(), fetch);
}
+ /**
+ * Sets wether only the id or the complete tag should be fetched.
+ *
+ * The default is @c false.
+ *
+ * @since 4.15
+ */
+ void setFetchIdOnly(bool fetchIdOnly);
+
+ /**
+ * Sets wether only the id of the tags should be retieved or the complete tag.
+ *
+ * @see tagFetchScope()
+ * @since 4.15
+ */
+ bool fetchIdOnly() const;
+
private:
class Private;
//@cond PRIVATE
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdepimlibs-4.14.0/akonadi/tests/tagtest.cpp new/kdepimlibs-4.14.1/akonadi/tests/tagtest.cpp
--- old/kdepimlibs-4.14.0/akonadi/tests/tagtest.cpp 2014-08-13 09:43:09.000000000 +0200
+++ new/kdepimlibs-4.14.1/akonadi/tests/tagtest.cpp 2014-09-10 22:48:29.000000000 +0200
@@ -54,6 +54,10 @@
void testCreateMerge();
void testAttributes();
void testTagItem();
+ void testFetchTagIdWithItem();
+ void testFetchFullTagWithItem();
+ void testModifyItemWithTagByGID();
+ void testModifyItemWithTagByRID();
void testMonitor();
};
@@ -65,6 +69,13 @@
qRegisterMetaType<Akonadi::Tag>();
qRegisterMetaType<QSet<Akonadi::Tag> >();
qRegisterMetaType<Akonadi::Item::List>();
+
+ // Delete the default Knut tag - it's interfering with this test
+ TagFetchJob *fetchJob = new TagFetchJob(this);
+ AKVERIFYEXEC(fetchJob);
+ QCOMPARE(fetchJob->tags().size(), 1);
+ TagDeleteJob *deleteJob = new TagDeleteJob(fetchJob->tags().first(), this);
+ AKVERIFYEXEC(deleteJob);
}
void TagTest::testCreateFetch()
@@ -337,6 +348,150 @@
QCOMPARE(fetchJob->items().first().tags().size(), 1);
}
+void TagTest::testFetchTagIdWithItem()
+{
+ const Collection res3 = Collection( collectionIdFromPath( "res3" ) );
+ Tag tag;
+ {
+ TagCreateJob *createjob = new TagCreateJob(Tag("gid1"), this);
+ AKVERIFYEXEC(createjob);
+ tag = createjob->tag();
+ }
+
+ Item item1;
+ {
+ item1.setMimeType( "application/octet-stream" );
+ ItemCreateJob *append = new ItemCreateJob(item1, res3, this);
+ AKVERIFYEXEC(append);
+ item1 = append->item();
+
+ // FIXME This should also be possible with create, but isn't
+ item1.setTag(tag);
+
+ ItemModifyJob *modJob = new ItemModifyJob(item1, this);
+ AKVERIFYEXEC(modJob);
+ }
+
+ ItemFetchJob *fetchJob = new ItemFetchJob(item1, this);
+ fetchJob->fetchScope().setFetchTags(true);
+ fetchJob->fetchScope().tagFetchScope().setFetchIdOnly(true);
+ AKVERIFYEXEC(fetchJob);
+ QCOMPARE(fetchJob->items().first().tags().size(), 1);
+ Tag t = fetchJob->items().first().tags().first();
+ QCOMPARE(t.id(), tag.id());
+ QVERIFY(t.gid().isEmpty());
+
+ TagDeleteJob *deleteJob = new TagDeleteJob(tag, this);
+ AKVERIFYEXEC(deleteJob);
+}
+
+void TagTest::testFetchFullTagWithItem()
+{
+ const Collection res3 = Collection( collectionIdFromPath( "res3" ) );
+ Tag tag;
+ {
+ TagCreateJob *createjob = new TagCreateJob(Tag("gid1"), this);
+ AKVERIFYEXEC(createjob);
+ tag = createjob->tag();
+ }
+
+ Item item1;
+ {
+ item1.setMimeType( "application/octet-stream" );
+ ItemCreateJob *append = new ItemCreateJob(item1, res3, this);
+ AKVERIFYEXEC(append);
+ item1 = append->item();
+ //FIXME This should also be possible with create, but isn't
+ item1.setTag(tag);
+ }
+
+ ItemModifyJob *modJob = new ItemModifyJob(item1, this);
+ AKVERIFYEXEC(modJob);
+
+ ItemFetchJob *fetchJob = new ItemFetchJob(item1, this);
+ fetchJob->fetchScope().setFetchTags(true);
+ fetchJob->fetchScope().tagFetchScope().setFetchIdOnly(false);
+ AKVERIFYEXEC(fetchJob);
+ QCOMPARE(fetchJob->items().first().tags().size(), 1);
+ Tag t = fetchJob->items().first().tags().first();
+ QCOMPARE(t, tag);
+ QVERIFY(!t.gid().isEmpty());
+
+ TagDeleteJob *deleteJob = new TagDeleteJob(tag, this);
+ AKVERIFYEXEC(deleteJob);
+}
+
+void TagTest::testModifyItemWithTagByGID()
+{
+ const Collection res3 = Collection( collectionIdFromPath( "res3" ) );
+ {
+ Tag tag;
+ tag.setGid("gid2");
+ TagCreateJob *createjob = new TagCreateJob(tag, this);
+ AKVERIFYEXEC(createjob);
+ }
+
+ Item item1;
+ {
+ item1.setMimeType( "application/octet-stream" );
+ ItemCreateJob *append = new ItemCreateJob(item1, res3, this);
+ AKVERIFYEXEC(append);
+ item1 = append->item();
+ }
+
+ Tag tag;
+ tag.setGid("gid2");
+ item1.setTag(tag);
+
+ ItemModifyJob *modJob = new ItemModifyJob(item1, this);
+ AKVERIFYEXEC(modJob);
+
+ ItemFetchJob *fetchJob = new ItemFetchJob(item1, this);
+ fetchJob->fetchScope().setFetchTags(true);
+ AKVERIFYEXEC(fetchJob);
+ QCOMPARE(fetchJob->items().first().tags().size(), 1);
+}
+
+void TagTest::testModifyItemWithTagByRID()
+{
+ {
+ ResourceSelectJob *select = new ResourceSelectJob("akonadi_knut_resource_0");
+ AKVERIFYEXEC(select);
+ }
+ const Collection res3 = Collection( collectionIdFromPath( "res3" ) );
+ {
+ Tag tag;
+ tag.setGid("gid3");
+ tag.setRemoteId("rid3");
+ TagCreateJob *createjob = new TagCreateJob(tag, this);
+ AKVERIFYEXEC(createjob);
+ }
+
+ Item item1;
+ {
+ item1.setMimeType( "application/octet-stream" );
+ ItemCreateJob *append = new ItemCreateJob(item1, res3, this);
+ AKVERIFYEXEC(append);
+ item1 = append->item();
+ }
+
+ Tag tag;
+ tag.setRemoteId("rid2");
+ item1.setTag(tag);
+
+ ItemModifyJob *modJob = new ItemModifyJob(item1, this);
+ AKVERIFYEXEC(modJob);
+
+ ItemFetchJob *fetchJob = new ItemFetchJob(item1, this);
+ fetchJob->fetchScope().setFetchTags(true);
+ AKVERIFYEXEC(fetchJob);
+ QCOMPARE(fetchJob->items().first().tags().size(), 1);
+ {
+ ResourceSelectJob *select = new ResourceSelectJob("");
+ AKVERIFYEXEC(select);
+ }
+}
+
void TagTest::testMonitor()
{
Akonadi::Monitor monitor;
@@ -347,9 +502,10 @@
{
QSignalSpy addedSpy(&monitor, SIGNAL(tagAdded(Akonadi::Tag)));
QVERIFY(addedSpy.isValid());
- Tag tag("gid2");
- tag.attribute<Akonadi::TagAttribute>(AttributeEntity::AddIfMissing);
- QVERIFY(tag.hasAttribute<Akonadi::TagAttribute>());
+ Tag tag;
+ tag.setGid("gid2");
+ tag.setName("name2");
+ tag.setType("type2");
TagCreateJob *createjob = new TagCreateJob(tag, this);
AKVERIFYEXEC(createjob);
//We usually pick up signals from the previous tests as well (due to server-side notification caching)
@@ -360,6 +516,19 @@
}
{
+ QSignalSpy modifedSpy(&monitor, SIGNAL(tagChanged(Akonadi::Tag)));
+ QVERIFY(modifedSpy.isValid());
+ createdTag.setName("name3");
+
+ TagModifyJob *modJob = new TagModifyJob(createdTag, this);
+ AKVERIFYEXEC(modJob);
+ //We usually pick up signals from the previous tests as well (due to server-side notification caching)
+ QTRY_VERIFY(modifedSpy.count() >= 1);
+ QTRY_COMPARE(modifedSpy.last().first().value<Akonadi::Tag>().id(), createdTag.id());
+ QVERIFY(modifedSpy.last().first().value<Akonadi::Tag>().hasAttribute<Akonadi::TagAttribute>());
+ }
+
+ {
QSignalSpy removedSpy(&monitor, SIGNAL(tagRemoved(Akonadi::Tag)));
QVERIFY(removedSpy.isValid());
TagDeleteJob *deletejob = new TagDeleteJob(createdTag, this);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdepimlibs-4.14.0/akonadi/tests/testresource/knutresource.cpp new/kdepimlibs-4.14.1/akonadi/tests/testresource/knutresource.cpp
--- old/kdepimlibs-4.14.0/akonadi/tests/testresource/knutresource.cpp 2014-08-13 09:43:09.000000000 +0200
+++ new/kdepimlibs-4.14.1/akonadi/tests/testresource/knutresource.cpp 2014-09-10 22:48:29.000000000 +0200
@@ -31,6 +31,7 @@
#include <akonadi/dbusconnectionpool.h>
#include <akonadi/item.h>
#include <akonadi/itemfetchscope.h>
+#include <akonadi/tagcreatejob.h>
#include <kfiledialog.h>
#include <klocale.h>
@@ -131,6 +132,11 @@
{
const Collection::List collections = mDocument.collections();
collectionsRetrieved( collections );
+ const Tag::List tags = mDocument.tags();
+ Q_FOREACH ( const Tag &tag, tags ) {
+ TagCreateJob *createjob = new TagCreateJob(tag);
+ createjob->setMergeIfExisting(true);
+ }
}
void KnutResource::retrieveItems( const Akonadi::Collection &collection )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdepimlibs-4.14.0/akonadi/tests/testresource/knutresource.desktop new/kdepimlibs-4.14.1/akonadi/tests/testresource/knutresource.desktop
--- old/kdepimlibs-4.14.0/akonadi/tests/testresource/knutresource.desktop 2014-08-13 09:43:09.000000000 +0200
+++ new/kdepimlibs-4.14.1/akonadi/tests/testresource/knutresource.desktop 2014-09-10 22:48:29.000000000 +0200
@@ -27,6 +27,7 @@
Name[pt_BR]=Knut
Name[ru]=Knut
Name[sk]=Knut
+Name[sl]=Knut
Name[sr]=КНУТ
Name[sr@ijekavian]=КНУТ
Name[sr@ijekavianlatin]=KNUT
@@ -64,6 +65,7 @@
Comment[pt_BR]=Um agente para depuração
Comment[ru]=Агент Akonadi для целей отладки
Comment[sk]=Agent na ladiace účely
+Comment[sl]=Posrednik za namene razhroščevanja
Comment[sr]=Агент за исправљање
Comment[sr@ijekavian]=Агент за исправљање
Comment[sr@ijekavianlatin]=Agent za ispravljanje
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdepimlibs-4.14.0/akonadi/tests/testsearchplugin/akonaditestsearchplugin.desktop new/kdepimlibs-4.14.1/akonadi/tests/testsearchplugin/akonaditestsearchplugin.desktop
--- old/kdepimlibs-4.14.0/akonadi/tests/testsearchplugin/akonaditestsearchplugin.desktop 2014-08-13 09:43:09.000000000 +0200
+++ new/kdepimlibs-4.14.1/akonadi/tests/testsearchplugin/akonaditestsearchplugin.desktop 2014-09-10 22:48:29.000000000 +0200
@@ -14,6 +14,7 @@
Name[fr]=Module externe de test pour les recherches Akonadi
Name[gl]=Engadido de busca de proba de Akonadi
Name[hu]=Akonadi teszt keresés bővítmény
+Name[ia]=Plug-in de Cerca de Test de Akonadi
Name[it]=Estensione di test per la ricerca di Akonadi
Name[ko]=Akonadi 테스트 검색 플러그인
Name[nb]=Akonadi test-tillegg for søk
@@ -24,6 +25,7 @@
Name[pt_BR]=Plugin de teste de pesquisa do Akonadi
Name[ru]=Тестовый модуль поиска для Akonadi
Name[sk]=Testovací plugin hľadania Akonadi
+Name[sl]=Preizkusni iskalni vstavek za Akonadi
Name[sr]=Пробни прикључак за претрагу над Аконадијем
Name[sr@ijekavian]=Пробни прикључак за претрагу над Аконадијем
Name[sr@ijekavianlatin]=Probni priključak za pretragu nad Akonadijem
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdepimlibs-4.14.0/akonadi/tests/unittestenv/kdehome/testdata-res1.xml new/kdepimlibs-4.14.1/akonadi/tests/unittestenv/kdehome/testdata-res1.xml
--- old/kdepimlibs-4.14.0/akonadi/tests/unittestenv/kdehome/testdata-res1.xml 2014-08-13 09:43:09.000000000 +0200
+++ new/kdepimlibs-4.14.1/akonadi/tests/unittestenv/kdehome/testdata-res1.xml 2014-09-10 22:48:29.000000000 +0200
@@ -18,6 +18,7 @@
<payload>testmailbody1</payload>
<attribute type="HEAD">From: <test1(a)user.tst></attribute>
<flag>\FLAGGED</flag>
+ <tag>tagrid</tag>
</item>
<item rid="C" mimetype="application/octet-stream">
<payload>testmailbody2</payload>
@@ -73,4 +74,5 @@
</item>
</collection>
</collection>
+ <tag name="name" type="type" gid="taggid" rid="tagrid"></tag>
</knut>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdepimlibs-4.14.0/akonadi/xml/akonadi-xml.xsd new/kdepimlibs-4.14.1/akonadi/xml/akonadi-xml.xsd
--- old/kdepimlibs-4.14.0/akonadi/xml/akonadi-xml.xsd 2014-08-13 09:43:09.000000000 +0200
+++ new/kdepimlibs-4.14.1/akonadi/xml/akonadi-xml.xsd 2014-09-10 22:48:29.000000000 +0200
@@ -26,6 +26,7 @@
<xsd:sequence>
<xsd:element name="collection" type="collectionType" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element name="item" type="itemType" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="tag" type="tagType" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
@@ -46,11 +47,22 @@
<xsd:element name="payload" type="payloadType" minOccurs="0" maxOccurs="1"/>
<xsd:element name="attribute" type="attributeType" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element name="flag" type="flagType" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="tag" type="tagRIDRefType" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute name="rid" type="xsd:string" use="required"/>
<xsd:attribute name="mimetype" type="xsd:string" use="required"/>
</xsd:complexType>
+ <xsd:complexType name="tagType">
+ <xsd:sequence>
+ <xsd:element name="tag" type="tagType" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="rid" type="xsd:string" use="required"/>
+ <xsd:attribute name="type" type="xsd:string" use="required"/>
+ <xsd:attribute name="gid" type="xsd:string" use="required"/>
+ <xsd:attribute name="name" type="xsd:string" use="required"/>
+ </xsd:complexType>
+
<xsd:complexType name="payloadType">
<xsd:simpleContent>
<xsd:extension base="xsd:string"/>
@@ -69,6 +81,12 @@
<xsd:simpleContent>
<xsd:extension base="xsd:string"/>
</xsd:simpleContent>
+ </xsd:complexType>
+
+ <xsd:complexType name="tagRIDRefType">
+ <xsd:simpleContent>
+ <xsd:extension base="xsd:string"/>
+ </xsd:simpleContent>
</xsd:complexType>
</xsd:schema>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdepimlibs-4.14.0/akonadi/xml/format_p.h new/kdepimlibs-4.14.1/akonadi/xml/format_p.h
--- old/kdepimlibs-4.14.0/akonadi/xml/format_p.h 2014-08-13 09:43:09.000000000 +0200
+++ new/kdepimlibs-4.14.1/akonadi/xml/format_p.h 2014-09-10 22:48:29.000000000 +0200
@@ -33,6 +33,7 @@
inline QString item() { return QString::fromLatin1( "item" ); }
inline QString attribute() { return QString::fromLatin1( "attribute" ); }
inline QString flag() { return QString::fromLatin1( "flag" ); }
+ inline QString tag() { return QString::fromLatin1( "tag" ); }
inline QString payload() { return QString::fromLatin1( "payload" ); }
}
@@ -44,6 +45,9 @@
inline QString collectionName() { return QString::fromLatin1( "name" ); }
inline QString collectionContentTypes() { return QString::fromLatin1( "content" ); }
inline QString itemMimeType() { return QString::fromLatin1( "mimetype" ); }
+ inline QString name() { return QString::fromLatin1( "name" ); }
+ inline QString gid() { return QString::fromLatin1( "gid" ); }
+ inline QString type() { return QString::fromLatin1( "type" ); }
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdepimlibs-4.14.0/akonadi/xml/xmldocument.cpp new/kdepimlibs-4.14.1/akonadi/xml/xmldocument.cpp
--- old/kdepimlibs-4.14.0/akonadi/xml/xmldocument.cpp 2014-08-13 09:43:09.000000000 +0200
+++ new/kdepimlibs-4.14.1/akonadi/xml/xmldocument.cpp 2014-09-10 22:48:29.000000000 +0200
@@ -271,6 +271,11 @@
return XmlReader::readCollections( d->document.documentElement() );
}
+Tag::List XmlDocument::tags() const
+{
+ return XmlReader::readTags( d->document.documentElement() );
+}
+
Collection::List XmlDocument::childCollections(const QString& parentCollectionRid) const
{
Collection c;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdepimlibs-4.14.0/akonadi/xml/xmldocument.h new/kdepimlibs-4.14.1/akonadi/xml/xmldocument.h
--- old/kdepimlibs-4.14.0/akonadi/xml/xmldocument.h 2014-08-13 09:43:09.000000000 +0200
+++ new/kdepimlibs-4.14.1/akonadi/xml/xmldocument.h 2014-09-10 22:48:29.000000000 +0200
@@ -114,6 +114,11 @@
Collection::List collections() const;
/**
+ Returns the tags defined in this document.
+ */
+ Tag::List tags() const;
+
+ /**
Returns immediate child collections of the specified parent collection.
@deprecated Not HRID aware, use childCollections( Akonadi::Collection ) instead
*/
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdepimlibs-4.14.0/akonadi/xml/xmlreader.cpp new/kdepimlibs-4.14.1/akonadi/xml/xmlreader.cpp
--- old/kdepimlibs-4.14.0/akonadi/xml/xmlreader.cpp 2014-08-13 09:43:09.000000000 +0200
+++ new/kdepimlibs-4.14.1/akonadi/xml/xmlreader.cpp 2014-09-10 22:48:29.000000000 +0200
@@ -22,6 +22,7 @@
#include "format_p.h"
#include <akonadi/attributefactory.h>
+#include <akonadi/tag.h>
#include <QStringList>
@@ -85,6 +86,45 @@
return rv;
}
+Tag XmlReader::elementToTag(const QDomElement& elem)
+{
+ if ( elem.isNull() || elem.tagName() != Format::Tag::tag() )
+ return Tag();
+
+ Tag t;
+ t.setRemoteId( elem.attribute( Format::Attr::remoteId() ).toUtf8() );
+ t.setName( elem.attribute( Format::Attr::name() ) );
+ t.setGid( elem.attribute( Format::Attr::gid() ).toUtf8() );
+ t.setType( elem.attribute( Format::Attr::type() ).toUtf8() );
+
+ //TODO Implement rid parent support in TagCreateJob first
+ // const QDomElement parentElem = elem.parentNode().toElement();
+ // if ( !parentElem.isNull() && parentElem.tagName() == Format::Tag::tag() ) {
+ // Tag parent;
+ // parent.setRemoteId( parentElem.attribute( Format::Attr::remoteId() ).toLatin1() );
+ // t.setParent( parent );
+ // }
+
+ return t;
+}
+
+Tag::List XmlReader::readTags(const QDomElement& elem)
+{
+ Tag::List rv;
+ if ( elem.isNull() )
+ return rv;
+ if ( elem.tagName() == Format::Tag::tag() )
+ rv += elementToTag( elem );
+ const QDomNodeList children = elem.childNodes();
+ for ( int i = 0; i < children.count(); i++ ) {
+ const QDomElement child = children.at( i ).toElement();
+ if ( child.isNull() || child.tagName() != Format::Tag::tag() )
+ continue;
+ rv += readTags( child );
+ }
+ return rv;
+}
+
Item XmlReader::elementToItem(const QDomElement& elem, bool includePayload)
{
Item item( elem.attribute( Format::Attr::itemMimeType(), QLatin1String("application/octet-stream") ) );
@@ -98,6 +138,10 @@
continue;
if ( subElem.tagName() == Format::Tag::flag() ) {
item.setFlag( subElem.text().toUtf8() );
+ } else if ( subElem.tagName() == Format::Tag::tag() ) {
+ Tag tag;
+ tag.setRemoteId( subElem.text().toUtf8() );
+ item.setTag( tag );
} else if ( includePayload && subElem.tagName() == Format::Tag::payload() ) {
const QByteArray payloadData = subElem.text().toUtf8();
item.setPayloadFromData( payloadData );
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdepimlibs-4.14.0/akonadi/xml/xmlreader.h new/kdepimlibs-4.14.1/akonadi/xml/xmlreader.h
--- old/kdepimlibs-4.14.0/akonadi/xml/xmlreader.h 2014-08-13 09:43:09.000000000 +0200
+++ new/kdepimlibs-4.14.1/akonadi/xml/xmlreader.h 2014-09-10 22:48:29.000000000 +0200
@@ -60,6 +60,16 @@
AKONADI_XML_EXPORT Collection::List readCollections( const QDomElement &elem );
/**
+ Converts a tag element.
+ */
+ AKONADI_XML_EXPORT Tag elementToTag( const QDomElement &elem );
+
+ /**
+ Reads recursively all tags starting from the given DOM element.
+ */
+ AKONADI_XML_EXPORT Tag::List readTags( const QDomElement &elem );
+
+ /**
Converts an item element.
*/
AKONADI_XML_EXPORT Item elementToItem( const QDomElement &elem, bool includePayload = true );
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdepimlibs-4.14.0/kabc/plugins/dir/dir.desktop new/kdepimlibs-4.14.1/kabc/plugins/dir/dir.desktop
--- old/kdepimlibs-4.14.0/kabc/plugins/dir/dir.desktop 2014-08-13 09:43:09.000000000 +0200
+++ new/kdepimlibs-4.14.1/kabc/plugins/dir/dir.desktop 2014-09-10 22:48:29.000000000 +0200
@@ -78,6 +78,7 @@
Comment[pt_BR]=Fornece acesso aos contatos, cada um armazenado em um único arquivo, em uma pasta informada. Suporta o formato de arquivos vCard padrão e outros formatos, dependendo da disponibilidade de plugins.
Comment[ru]=Предоставляет доступ к контактам, хранящимся в отдельных файлах в заданной папке. Поддерживает стандартный формат vCard и другие форматы при наличии соответствующих модулей.
Comment[sk]=Poskytuje prístup ku kontaktom, každý uložený v samostatnom súbore v danom adresári. Podporuje štandardný vCard súbor a ostatné formáty v závislosti od dostupnosti zásuvných modulov.
+Comment[sl]=Nudi dostop do stikov, ki so vsak posebej shranjeni v eni datoteki, v dani mapi. Podpira običajne datoteke VCard in druge vrste, odvisno od razpoložljivosti vstavkov.
Comment[sr]=Пружа приступ контактима складиштеним у појединачним фајловима у датој фасцикли. Подржава стандардне в‑кард фајлове и друге формате, према расположивим прикључцима.
Comment[sr@ijekavian]=Пружа приступ контактима складиштеним у појединачним фајловима у датој фасцикли. Подржава стандардне в‑кард фајлове и друге формате, према расположивим прикључцима.
Comment[sr@ijekavianlatin]=Pruža pristup kontaktima skladištenim u pojedinačnim fajlovima u datoj fascikli. Podržava standardne vCard fajlove i druge formate, prema raspoloživim priključcima.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdepimlibs-4.14.0/kabc/plugins/file/file.desktop new/kdepimlibs-4.14.1/kabc/plugins/file/file.desktop
--- old/kdepimlibs-4.14.0/kabc/plugins/file/file.desktop 2014-08-13 09:43:09.000000000 +0200
+++ new/kdepimlibs-4.14.1/kabc/plugins/file/file.desktop 2014-09-10 22:48:29.000000000 +0200
@@ -83,6 +83,7 @@
Comment[pt_BR]=Fornece acesso aos contatos armazenados em um único arquivo local. Suporta o formato de arquivos vCard padrão e outros formatos, dependendo da disponibilidade de plugins.
Comment[ru]=Предоставляет доступ к контактам, хранящимся в одном локальном файле. Поддерживает стандартный формат vCard и другие форматы при наличии соответствующих модулей.
Comment[sk]=Poskytuje prístup ku kontaktom uloženým v samostatnom lokálnom súbore. Podporuje štandardný vCard súbor a ostatné formáty v závislosti od dostupnosti zásuvných modulov.
+Comment[sl]=Nudi dostop do stikov, ki so shranjeni v eni sami krajevni datoteki. Podpira običajne datoteke VCard in druge vrste, odvisno od razpoložljivosti vstavkov.
Comment[sr]=Пружа приступ контактима складиштеним у једном локалном фајлу. Подржава стандардне в‑кард фајлове и друге формате, према расположивим прикључцима.
Comment[sr@ijekavian]=Пружа приступ контактима складиштеним у једном локалном фајлу. Подржава стандардне в‑кард фајлове и друге формате, према расположивим прикључцима.
Comment[sr@ijekavianlatin]=Pruža pristup kontaktima skladištenim u jednom lokalnom fajlu. Podržava standardne vCard fajlove i druge formate, prema raspoloživim priključcima.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdepimlibs-4.14.0/kabc/plugins/net/net.desktop new/kdepimlibs-4.14.1/kabc/plugins/net/net.desktop
--- old/kdepimlibs-4.14.0/kabc/plugins/net/net.desktop 2014-08-13 09:43:09.000000000 +0200
+++ new/kdepimlibs-4.14.1/kabc/plugins/net/net.desktop 2014-09-10 22:48:29.000000000 +0200
@@ -83,6 +83,7 @@
Comment[pt_BR]=Fornece acesso aos contatos em arquivos remotos usando o KIO framework de rede do KDE. O suporte a arquivos vCard padrão e outros formatos dependem da disponibilidade de plugins.
Comment[ru]=Предоставляет доступ к контактам в удалённых файлах, используя сетевую подсистему KDE KIO. Поддерживает стандартный формат vCard и другие форматы при наличии соответствующих модулей.
Comment[sk]=Poskytuje prístup ku kontaktom vo vzdialených súboroch s použitím KDE sieťového rámca KIO. Podporuje štandardný vCard súbor a ostatné formáty v závislosti od dostupnosti zásuvných modulov.
+Comment[sl]=Nudi dostop do stikov v oddaljenih datotekah z uporabo KDE-jevega ogrodja KIO. Podpira običajne datoteke VCard in druge vrste, odvisno od razpoložljivosti vstavkov.
Comment[sr]=Пружа приступ контактима у удаљеним фајловима преко КДЕ‑овог мрежног радног оквира К‑У/И. Подржава стандардне в‑кард фајлове и друге формате, према расположивим прикључцима.
Comment[sr@ijekavian]=Пружа приступ контактима у удаљеним фајловима преко КДЕ‑овог мрежног радног оквира К‑У/И. Подржава стандардне в‑кард фајлове и друге формате, према расположивим прикључцима.
Comment[sr@ijekavianlatin]=Pruža pristup kontaktima u udaljenim fajlovima preko KDE‑ovog mrežnog radnog okvira K‑U/I. Podržava standardne vCard fajlove i druge formate, prema raspoloživim priključcima.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdepimlibs-4.14.0/kalarmcal/alarmtext.cpp new/kdepimlibs-4.14.1/kalarmcal/alarmtext.cpp
--- old/kdepimlibs-4.14.0/kalarmcal/alarmtext.cpp 2014-08-13 09:43:09.000000000 +0200
+++ new/kdepimlibs-4.14.1/kalarmcal/alarmtext.cpp 2014-09-10 22:48:29.000000000 +0200
@@ -379,7 +379,7 @@
*/
bool AlarmText::checkIfEmail(const QString& text)
{
- QStringList lines = text.split(QLatin1Char('\n'), QString::SkipEmptyParts);
+ const QStringList lines = text.split(QLatin1Char('\n'), QString::SkipEmptyParts);
return Private::emailHeaderCount(lines);
}
@@ -391,7 +391,7 @@
QString AlarmText::emailHeaders(const QString& text, bool subjectOnly)
{
const QStringList lines = text.split(QLatin1Char('\n'), QString::SkipEmptyParts);
- int n = Private::emailHeaderCount(lines);
+ const int n = Private::emailHeaderCount(lines);
if (!n)
return QString();
if (subjectOnly)
@@ -415,7 +415,7 @@
{
Private::initialise();
const QStringList lines = text.split(QLatin1Char('\n'), QString::SkipEmptyParts);
- int maxn = lines.count();
+ const int maxn = lines.count();
if (maxn >= 4
&& lines[0].startsWith(Private::mFromPrefixEn)
&& lines[1].startsWith(Private::mToPrefixEn))
@@ -455,7 +455,7 @@
{
Private::setUpTranslations();
const QStringList lines = text.split(QLatin1Char('\n'), QString::SkipEmptyParts);
- int maxn = lines.count();
+ const int maxn = lines.count();
if (maxn >= 4
&& lines[0].startsWith(Private::mFromPrefix)
&& lines[1].startsWith(Private::mToPrefix))
@@ -524,7 +524,7 @@
int AlarmText::Private::emailHeaderCount(const QStringList& lines)
{
setUpTranslations();
- int maxn = lines.count();
+ const int maxn = lines.count();
if (maxn >= 4
&& lines[0].startsWith(mFromPrefix)
&& lines[1].startsWith(mToPrefix))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdepimlibs-4.14.0/kalarmcal/collectionattribute.cpp new/kdepimlibs-4.14.1/kalarmcal/collectionattribute.cpp
--- old/kdepimlibs-4.14.0/kalarmcal/collectionattribute.cpp 2014-08-13 09:43:09.000000000 +0200
+++ new/kdepimlibs-4.14.1/kalarmcal/collectionattribute.cpp 2014-09-10 22:48:29.000000000 +0200
@@ -206,7 +206,7 @@
bool ok;
int c[4];
const QList<QByteArray> items = data.simplified().split(' ');
- int count = items.count();
+ const int count = items.count();
int index = 0;
if (count > index)
{
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdepimlibs-4.14.0/kalarmcal/compatibilityattribute.cpp new/kdepimlibs-4.14.1/kalarmcal/compatibilityattribute.cpp
--- old/kdepimlibs-4.14.0/kalarmcal/compatibilityattribute.cpp 2014-08-13 09:43:09.000000000 +0200
+++ new/kdepimlibs-4.14.1/kalarmcal/compatibilityattribute.cpp 2014-09-10 22:48:29.000000000 +0200
@@ -102,8 +102,8 @@
QByteArray CompatibilityAttribute::serialized() const
{
- QByteArray v = QByteArray::number(d->mCompatibility) + ' '
- + QByteArray::number(d->mVersion);
+ const QByteArray v = QByteArray::number(d->mCompatibility) + ' '
+ + QByteArray::number(d->mVersion);
kDebug() << v;
return v;
}
@@ -118,13 +118,13 @@
bool ok;
const QList<QByteArray> items = data.simplified().split(' ');
- int count = items.count();
+ const int count = items.count();
int index = 0;
if (count > index)
{
// 0: calendar format compatibility
- int c = items[index++].toInt(&ok);
- KACalendar::Compat AllCompat(KACalendar::Current | KACalendar::Converted | KACalendar::Convertible | KACalendar::Incompatible | KACalendar::Unknown);
+ const int c = items[index++].toInt(&ok);
+ const KACalendar::Compat AllCompat(KACalendar::Current | KACalendar::Converted | KACalendar::Convertible | KACalendar::Incompatible | KACalendar::Unknown);
if (!ok || (c & AllCompat) != c)
{
kError() << "Invalid compatibility:" << c;
@@ -135,7 +135,7 @@
if (count > index)
{
// 1: KAlarm calendar version number
- int c = items[index++].toInt(&ok);
+ const int c = items[index++].toInt(&ok);
if (!ok)
{
kError() << "Invalid version:" << c;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdepimlibs-4.14.0/kalarmcal/eventattribute.cpp new/kdepimlibs-4.14.1/kalarmcal/eventattribute.cpp
--- old/kdepimlibs-4.14.0/kalarmcal/eventattribute.cpp 2014-08-13 09:43:09.000000000 +0200
+++ new/kdepimlibs-4.14.1/kalarmcal/eventattribute.cpp 2014-09-10 22:48:29.000000000 +0200
@@ -84,7 +84,7 @@
QByteArray EventAttribute::serialized() const
{
- QByteArray v = QByteArray::number(d->mCommandError);
+ const QByteArray v = QByteArray::number(d->mCommandError);
kDebug() << v;
return v;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdepimlibs-4.14.0/kalarmcal/kacalendar.cpp new/kdepimlibs-4.14.1/kalarmcal/kacalendar.cpp
--- old/kdepimlibs-4.14.0/kalarmcal/kacalendar.cpp 2014-08-13 09:43:09.000000000 +0200
+++ new/kdepimlibs-4.14.1/kalarmcal/kacalendar.cpp 2014-09-10 22:48:29.000000000 +0200
@@ -131,9 +131,9 @@
{
QString subVersion;
#ifndef KALARMCAL_USE_KRESOURCES
- int version = Private::readKAlarmVersion(fileStorage, subVersion, versionString);
+ const int version = Private::readKAlarmVersion(fileStorage, subVersion, versionString);
#else
- int version = Private::readKAlarmVersion(calendar, localFile, subVersion, versionString);
+ const int version = Private::readKAlarmVersion(calendar, localFile, subVersion, versionString);
#endif
if (version == CurrentFormat)
return CurrentFormat; // calendar is in the current KAlarm format
@@ -205,9 +205,9 @@
// Check whether the calendar file is empty, in which case
// it can be written to freely.
#ifndef KALARMCAL_USE_KRESOURCES
- QFileInfo fi(fileStorage->fileName());
+ const QFileInfo fi(fileStorage->fileName());
#else
- QFileInfo fi(localFile);
+ const QFileInfo fi(localFile);
#endif
if (!fi.size())
return KACalendar::CurrentFormat;
@@ -229,7 +229,7 @@
// Extract the KAlarm version string
versionString = prodid.mid(i + progname.length()).trimmed();
i = versionString.indexOf(QLatin1Char('/'));
- int j = versionString.indexOf(QLatin1Char(' '));
+ const int j = versionString.indexOf(QLatin1Char(' '));
if (j >= 0 && j < i)
i = j;
if (i <= 0)
@@ -238,7 +238,7 @@
}
if (versionString == QLatin1String(KAEvent::currentCalendarVersionString()))
return KACalendar::CurrentFormat; // the calendar is in the current KAlarm format
- int ver = KAlarmCal::getVersionNumber(versionString, &subVersion);
+ const int ver = KAlarmCal::getVersionNumber(versionString, &subVersion);
if (ver == KAEvent::currentCalendarVersion())
return KACalendar::CurrentFormat; // the calendar is in the current KAlarm format
return KAlarmCal::getVersionNumber(versionString, &subVersion);
@@ -258,7 +258,7 @@
return false;
QTextStream ts(&file);
ts.setCodec("ISO 8859-1");
- QByteArray text = ts.readAll().toLocal8Bit();
+ const QByteArray text = ts.readAll().toLocal8Bit();
file.close();
// Extract the CREATED property for the first VEVENT from the calendar
@@ -401,7 +401,7 @@
param->clear();
if (!event)
return EMPTY;
- Alarm::List alarms = event->alarms();
+ const Alarm::List alarms = event->alarms();
if (alarms.isEmpty())
return EMPTY;
@@ -413,7 +413,7 @@
PropertyMap::ConstIterator it = properties.constFind(property);
if (it != properties.constEnd())
return it.value();
- int i = property.indexOf(QLatin1Char(';'));
+ const int i = property.indexOf(QLatin1Char(';'));
if (i < 0)
return EMPTY;
it = properties.constFind(property.left(i));
@@ -426,7 +426,7 @@
// The event either wasn't written by KAlarm, or was written by a pre-2.0 version.
// Check first for an old KAlarm format, which indicated the event type in its UID.
- QString uid = event->uid();
+ const QString uid = event->uid();
if (uid.indexOf(staticStrings->ARCHIVED_UID) > 0)
return ARCHIVED;
if (uid.indexOf(staticStrings->TEMPLATE_UID) > 0)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdepimlibs-4.14.0/kalarmcal/karecurrence.cpp new/kdepimlibs-4.14.1/kalarmcal/karecurrence.cpp
--- old/kdepimlibs-4.14.0/kalarmcal/karecurrence.cpp 2014-08-13 09:43:09.000000000 +0200
+++ new/kdepimlibs-4.14.1/kalarmcal/karecurrence.cpp 2014-09-10 22:48:29.000000000 +0200
@@ -218,10 +218,10 @@
const KDateTime& end)
{
clear();
- Feb29Type feb29Type = (f29 == -1) ? mDefaultFeb29 : static_cast<Feb29Type>(f29);
+ const Feb29Type feb29Type = (f29 == -1) ? mDefaultFeb29 : static_cast<Feb29Type>(f29);
if (count < -1)
return false;
- bool dateOnly = start.isDateOnly();
+ const bool dateOnly = start.isDateOnly();
if (!count && ((!dateOnly && !end.isValid())
|| (dateOnly && !end.date().isValid())))
return false;
@@ -274,7 +274,7 @@
*/
bool KARecurrence::set(const QString& icalRRULE)
{
- static QString RRULE = QLatin1String("RRULE:");
+ static const QString RRULE = QLatin1String("RRULE:");
d->clear();
if (icalRRULE.isEmpty())
return true;
@@ -314,14 +314,13 @@
RecurrenceRule* rrules[2];
const RecurrenceRule::List rrulelist = mRecurrence.rRules();
int rri = 0;
- int rrend = rrulelist.count();
+ const int rrend = rrulelist.count();
for (int i = 0; i < 2 && rri < rrend; ++i, ++rri)
{
RecurrenceRule* rrule = rrulelist[rri];
rrules[i] = rrule;
bool stop = true;
- int rtype = mRecurrence.recurrenceType(rrule);
- switch (rtype)
+ switch (mRecurrence.recurrenceType(rrule))
{
case Recurrence::rHourly:
// Convert an hourly recurrence to a minutely one
@@ -356,7 +355,7 @@
|| rrule->startDt() != rrules[0]->startDt())
break;
}
- QList<int> ds = rrule->byYearDays();
+ const QList<int> ds = rrule->byYearDays();
if (!ds.isEmpty() && ds.first() == 60)
{
++convert; // this rule needs to be converted
@@ -390,7 +389,7 @@
if (day == -1)
{
// Last day of the month - only combine if it's February
- QList<int> months = rrule->byMonths();
+ const QList<int> months = rrule->byMonths();
if (months.count() != 1 || months.first() != 2)
day = 0;
}
@@ -431,7 +430,7 @@
RecurrenceRule* rr = rrules[0];
rrules[0] = rrules[1]; // the 29th rule
rrules[1] = rr;
- int d = days[0];
+ const int d = days[0];
days[0] = days[1];
days[1] = d; // the non-29th day
}
@@ -513,10 +512,10 @@
break;
case ANNUAL_DATE:
{
- QList<int> months = rrule->byMonths();
- QList<int> days = mRecurrence.monthDays();
- bool special = (mFeb29Type != Feb29_None && !days.isEmpty()
- && days.first() == 29 && months.removeAll(2));
+ QList<int> months = rrule->byMonths();
+ const QList<int> days = mRecurrence.monthDays();
+ const bool special = (mFeb29Type != Feb29_None && !days.isEmpty()
+ && days.first() == 29 && months.removeAll(2));
RecurrenceRule* rrule1 = recur.defaultRRule();
rrule1->setByMonths(months);
rrule1->setByMonthDays(days);
@@ -575,15 +574,15 @@
* all. In that case, retain it so that the February 29th characteristic
* is not lost should the user later change the recurrence count.
*/
- KDateTime end = endDateTime();
- int count1 = rrule1->durationTo(end)
- - (rrule1->recursOn(mRecurrence.startDate(), mRecurrence.startDateTime().timeSpec()) ? 0 : 1);
+ const KDateTime end = endDateTime();
+ const int count1 = rrule1->durationTo(end)
+ - (rrule1->recursOn(mRecurrence.startDate(), mRecurrence.startDateTime().timeSpec()) ? 0 : 1);
if (count1 > 0)
rrule1->setDuration(count1);
else
rrule1->setEndDt(mRecurrence.startDateTime());
- int count2 = rrule2->durationTo(end)
- - (rrule2->recursOn(mRecurrence.startDate(), mRecurrence.startDateTime().timeSpec()) ? 0 : 1);
+ const int count2 = rrule2->durationTo(end)
+ - (rrule2->recursOn(mRecurrence.startDate(), mRecurrence.startDateTime().timeSpec()) ? 0 : 1);
if (count2 > 0)
rrule2->setDuration(count2);
else
@@ -951,7 +950,7 @@
// Swap the two rules to make rr1 have the earlier end date
rr1 = rrule2;
rr2 = rrule1;
- KDateTime e = end1;
+ const KDateTime e = end1;
end1 = end2;
end2 = e;
}
@@ -978,7 +977,7 @@
end = end2.date();
return count1 + count2;
}
- QDate prev2 = rr2->getPreviousDate(next1).date();
+ const QDate prev2 = rr2->getPreviousDate(next1).date();
end = (prev2 > end1.date()) ? prev2 : end1.date();
}
if (count2)
@@ -992,7 +991,7 @@
*/
Duration KARecurrence::longestInterval() const
{
- int freq = d->mRecurrence.frequency();
+ const int freq = d->mRecurrence.frequency();
switch (type())
{
case MINUTELY:
@@ -1029,7 +1028,7 @@
last = i;
}
}
- int wrap = freq*7 - last + first;
+ const int wrap = freq*7 - last + first;
if (wrap > maxgap)
maxgap = wrap;
return Duration(maxgap, Duration::Days);
@@ -1047,13 +1046,13 @@
{
// Find which days of the week it recurs on, and if on more than
// one, reduce the maximum interval accordingly.
- QBitArray ds = d->mRecurrence.days();
+ const QBitArray ds = d->mRecurrence.days();
int first = -1;
int last = -1;
int maxgap = 1;
// Use the user's definition of the week, starting at the
// day of the week specified by the user's locale.
- int weekStart = KGlobal::locale()->weekStartDay() - 1; // zero-based
+ const int weekStart = KGlobal::locale()->weekStartDay() - 1; // zero-based
for (int i = 0; i < 7; ++i)
{
// Get the standard KDE day-of-week number (zero-based)
@@ -1069,7 +1068,7 @@
}
if (first < 0)
break; // no days recur
- int span = last - first;
+ const int span = last - first;
if (freq > 1)
return Duration(freq*7 - span, Duration::Days);
if (7 - span > maxgap)
@@ -1099,13 +1098,13 @@
first = months[i];
else
{
- int span = QDate(2001, last, 1).daysTo(QDate(2001, months[i], 1));
+ const int span = QDate(2001, last, 1).daysTo(QDate(2001, months[i], 1));
if (span > maxgap)
maxgap = span;
}
last = months[i];
}
- int span = QDate(2001, first, 1).daysTo(QDate(2001, last, 1));
+ const int span = QDate(2001, first, 1).daysTo(QDate(2001, last, 1));
if (freq > 1)
return Duration(freq*365 - span, Duration::Days);
if (365 - span > maxgap)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdepimlibs-4.14.0/kalarmcal/version.cpp new/kdepimlibs-4.14.1/kalarmcal/version.cpp
--- old/kdepimlibs-4.14.0/kalarmcal/version.cpp 2014-08-13 09:43:09.000000000 +0200
+++ new/kdepimlibs-4.14.1/kalarmcal/version.cpp 2014-09-10 22:48:29.000000000 +0200
@@ -42,7 +42,7 @@
// if the representation returned by this method changes.
if (subVersion)
subVersion->clear();
- int count = version.count(QLatin1Char('.')) + 1;
+ const int count = version.count(QLatin1Char('.')) + 1;
if (count < 2)
return 0;
bool ok;
@@ -57,7 +57,7 @@
{
// Issue number: allow other characters to follow the last digit
const QString issue = version.section(QLatin1Char('.'), 2);
- int n = issue.length();
+ const int n = issue.length();
if (!n || !issue[0].isDigit())
return 0;
int i;
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package analitza for openSUSE:Factory checked in at 2014-09-18 07:57:09
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/analitza (Old)
and /work/SRC/openSUSE:Factory/.analitza.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "analitza"
Changes:
--------
--- /work/SRC/openSUSE:Factory/analitza/analitza.changes 2014-08-25 10:58:14.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.analitza.new/analitza.changes 2014-09-18 07:57:34.000000000 +0200
@@ -1,0 +2,7 @@
+Sat Sep 13 16:20:51 UTC 2014 - tittiatcoke(a)gmail.com
+
+- Update to 4.14.1
+ * KDE 4.14.1 SC Bugfix Release
+ * See http://www.kde.org/announcements/announce-4.14.1.php
+
+-------------------------------------------------------------------
@@ -6 +13 @@
- * See http://www.kde.org/announcements/4.13/
+ * See http://www.kde.org/announcements/4.14/
Old:
----
analitza-4.14.0.tar.xz
New:
----
analitza-4.14.1.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ analitza.spec ++++++
--- /var/tmp/diff_new_pack.TyW7OI/_old 2014-09-18 07:57:35.000000000 +0200
+++ /var/tmp/diff_new_pack.TyW7OI/_new 2014-09-18 07:57:35.000000000 +0200
@@ -17,7 +17,7 @@
Name: analitza
-Version: 4.14.0
+Version: 4.14.1
Release: 0
Summary: A library to add mathematical features to programs
License: LGPL-2.1+
++++++ analitza-4.14.0.tar.xz -> analitza-4.14.1.tar.xz ++++++
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package libbaloowidgets for openSUSE:Factory checked in at 2014-09-18 07:57:07
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libbaloowidgets (Old)
and /work/SRC/openSUSE:Factory/.libbaloowidgets.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libbaloowidgets"
Changes:
--------
--- /work/SRC/openSUSE:Factory/libbaloowidgets/libbaloowidgets.changes 2014-08-25 10:58:12.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.libbaloowidgets.new/libbaloowidgets.changes 2014-09-18 07:57:32.000000000 +0200
@@ -1,0 +2,7 @@
+Sat Sep 13 16:20:40 UTC 2014 - tittiatcoke(a)gmail.com
+
+- Update to 4.14.1
+ * KDE 4.14.1 SC Bugfix Release
+ * See http://www.kde.org/announcements/announce-4.14.1.php
+
+-------------------------------------------------------------------
@@ -6 +13 @@
- * See http://www.kde.org/announcements/4.13/
+ * See http://www.kde.org/announcements/4.14/
Old:
----
baloo-widgets-4.14.0.tar.xz
New:
----
baloo-widgets-4.14.1.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libbaloowidgets.spec ++++++
--- /var/tmp/diff_new_pack.7cS4qF/_old 2014-09-18 07:57:33.000000000 +0200
+++ /var/tmp/diff_new_pack.7cS4qF/_new 2014-09-18 07:57:33.000000000 +0200
@@ -19,7 +19,7 @@
%define rname baloo-widgets
Name: libbaloowidgets
-Version: 4.14.0
+Version: 4.14.1
Release: 0
Summary: Framework for searching and managing metadata
License: GPL-2.0+ and LGPL-2.1+
++++++ baloo-widgets-4.14.0.tar.xz -> baloo-widgets-4.14.1.tar.xz ++++++
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package baloo for openSUSE:Factory checked in at 2014-09-18 07:57:06
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/baloo (Old)
and /work/SRC/openSUSE:Factory/.baloo.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "baloo"
Changes:
--------
--- /work/SRC/openSUSE:Factory/baloo/baloo.changes 2014-08-25 10:58:11.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.baloo.new/baloo.changes 2014-09-18 07:57:31.000000000 +0200
@@ -1,0 +2,7 @@
+Sat Sep 13 16:20:34 UTC 2014 - tittiatcoke(a)gmail.com
+
+- Update to 4.14.1
+ * KDE 4.14.1 SC Bugfix Release
+ * See http://www.kde.org/announcements/announce-4.14.1.php
+
+-------------------------------------------------------------------
@@ -6 +13 @@
- * See http://www.kde.org/announcements/4.13/
+ * See http://www.kde.org/announcements/4.14/
Old:
----
baloo-4.14.0.tar.xz
New:
----
baloo-4.14.1.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ baloo.spec ++++++
--- /var/tmp/diff_new_pack.ogMLOS/_old 2014-09-18 07:57:32.000000000 +0200
+++ /var/tmp/diff_new_pack.ogMLOS/_new 2014-09-18 07:57:32.000000000 +0200
@@ -17,7 +17,7 @@
Name: baloo
-Version: 4.14.0
+Version: 4.14.1
Release: 0
Summary: Framework for searching and managing metadata
License: GPL-2.0+ and LGPL-2.1+
++++++ baloo-4.14.0.tar.xz -> baloo-4.14.1.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/baloo-4.14.0/src/xapian/xapiandatabase.cpp new/baloo-4.14.1/src/xapian/xapiandatabase.cpp
--- old/baloo-4.14.0/src/xapian/xapiandatabase.cpp 2014-08-09 17:45:30.000000000 +0200
+++ new/baloo-4.14.1/src/xapian/xapiandatabase.cpp 2014-08-21 17:19:05.000000000 +0200
@@ -193,6 +193,10 @@
kError() << err.get_error_string();
return Xapian::WritableDatabase();
}
+ catch (const std::exception& err) {
+ kError() << "Unknown exception: " << err.what();
+ return Xapian::WritableDatabase();
+ }
catch (...) {
kError() << "Bananana Error";
return Xapian::WritableDatabase();
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package kfilemetadata for openSUSE:Factory checked in at 2014-09-18 07:57:05
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kfilemetadata (Old)
and /work/SRC/openSUSE:Factory/.kfilemetadata.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kfilemetadata"
Changes:
--------
--- /work/SRC/openSUSE:Factory/kfilemetadata/kfilemetadata.changes 2014-08-25 10:58:10.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.kfilemetadata.new/kfilemetadata.changes 2014-09-18 07:57:30.000000000 +0200
@@ -1,0 +2,7 @@
+Sat Sep 13 16:20:28 UTC 2014 - tittiatcoke(a)gmail.com
+
+- Update to 4.14.1
+ * KDE 4.14.1 SC Bugfix Release
+ * See http://www.kde.org/announcements/announce-4.14.1.php
+
+-------------------------------------------------------------------
@@ -6 +13 @@
- * See http://www.kde.org/announcements/4.13/
+ * See http://www.kde.org/announcements/4.14/
Old:
----
kfilemetadata-4.14.0.tar.xz
New:
----
kfilemetadata-4.14.1.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ kfilemetadata.spec ++++++
--- /var/tmp/diff_new_pack.AGY1M5/_old 2014-09-18 07:57:30.000000000 +0200
+++ /var/tmp/diff_new_pack.AGY1M5/_new 2014-09-18 07:57:30.000000000 +0200
@@ -17,7 +17,7 @@
Name: kfilemetadata
-Version: 4.14.0
+Version: 4.14.1
Release: 0
Summary: Extract Metadata
License: GPL-2.0+ and LGPL-2.1+ and LGPL-3.0
++++++ kfilemetadata-4.14.0.tar.xz -> kfilemetadata-4.14.1.tar.xz ++++++
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package kdelibs4 for openSUSE:Factory checked in at 2014-09-18 07:57:04
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kdelibs4 (Old)
and /work/SRC/openSUSE:Factory/.kdelibs4.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kdelibs4"
Changes:
--------
--- /work/SRC/openSUSE:Factory/kdelibs4/kdelibs4-apidocs.changes 2014-08-25 10:58:08.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.kdelibs4.new/kdelibs4-apidocs.changes 2014-09-18 07:57:28.000000000 +0200
@@ -1,0 +2,7 @@
+Sat Sep 13 16:20:09 UTC 2014 - tittiatcoke(a)gmail.com
+
+- Update to 4.14.1
+ * KDE 4.14.1 SC Bugfix Release
+ * See http://www.kde.org/announcements/announce-4.14.1.php
+
+-------------------------------------------------------------------
@@ -6 +13 @@
- * See http://www.kde.org/announcements/4.13/
+ * See http://www.kde.org/announcements/4.14/
kdelibs4.changes: same change
Old:
----
kdelibs-4.14.0.tar.xz
New:
----
kdelibs-4.14.1.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ kdelibs4-apidocs.spec ++++++
--- /var/tmp/diff_new_pack.FLn1Yf/_old 2014-09-18 07:57:30.000000000 +0200
+++ /var/tmp/diff_new_pack.FLn1Yf/_new 2014-09-18 07:57:30.000000000 +0200
@@ -17,7 +17,7 @@
Name: kdelibs4-apidocs
-Version: 4.14.0
+Version: 4.14.1
Release: 0
Summary: KDE 4 API documentation
License: LGPL-2.1+
++++++ kdelibs4.spec ++++++
--- /var/tmp/diff_new_pack.FLn1Yf/_old 2014-09-18 07:57:30.000000000 +0200
+++ /var/tmp/diff_new_pack.FLn1Yf/_new 2014-09-18 07:57:30.000000000 +0200
@@ -20,7 +20,7 @@
%bcond_with gendoxygen
Name: kdelibs4
-Version: 4.14.0
+Version: 4.14.1
Release: 0
BuildRequires: OpenEXR-devel
BuildRequires: automoc4
++++++ kdelibs-4.14.0.tar.xz -> kdelibs-4.14.1.tar.xz ++++++
/work/SRC/openSUSE:Factory/kdelibs4/kdelibs-4.14.0.tar.xz /work/SRC/openSUSE:Factory/.kdelibs4.new/kdelibs-4.14.1.tar.xz differ: char 27, line 1
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package libdbusmenu-qt5 for openSUSE:Factory checked in at 2014-09-18 07:57:03
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libdbusmenu-qt5 (Old)
and /work/SRC/openSUSE:Factory/.libdbusmenu-qt5.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libdbusmenu-qt5"
Changes:
--------
--- /work/SRC/openSUSE:Factory/libdbusmenu-qt5/libdbusmenu-qt5.changes 2014-06-04 18:39:00.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.libdbusmenu-qt5.new/libdbusmenu-qt5.changes 2014-09-18 07:57:26.000000000 +0200
@@ -1,0 +2,11 @@
+Mon Sep 15 19:31:29 UTC 2014 - hrvoje.senjan(a)gmail.com
+
+- Update to 0.9.3+14.10.20140619
+ * Users of dbusmenu-qt no longer need to call
+ include_directories(${dbusmenu-qt5_INCLUDE_DIRS}).
+ Simply adding dbusmenu-qt5 to the target_link_libraries()
+ call takes care of defining the include directory.
+- Rebase noqDebug-qWarnings.patch
+- Added full_include_dir.patch for openSUSE 13.1
+
+-------------------------------------------------------------------
Old:
----
libdbusmenu-qt_0.9.2+14.04.20131209.orig.tar.gz
New:
----
full_include_dir.patch
libdbusmenu-qt_0.9.3+14.10.20140619.orig.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libdbusmenu-qt5.spec ++++++
--- /var/tmp/diff_new_pack.zmA6QS/_old 2014-09-18 07:57:27.000000000 +0200
+++ /var/tmp/diff_new_pack.zmA6QS/_new 2014-09-18 07:57:27.000000000 +0200
@@ -19,17 +19,19 @@
%define rname libdbusmenu-qt
Name: libdbusmenu-qt5
-Version: 0.9.2+14.04.20131209
+Version: 0.9.3+14.10.20140619
Release: 0
Url: https://launchpad.net/libdbusmenu-qt/
Summary: A Qt implementation of the DBusMenu protocol
License: LGPL-2.0+
Group: System/Libraries
-Source0: http://archive.ubuntu.com/ubuntu/pool/main/libd/%{rname}/%{rname}_%{version…
-Source99: baselibs.conf
+Source: http://archive.ubuntu.com/ubuntu/pool/main/libd/%{rname}/%{rname}_%{version…
+Source1: baselibs.conf
# PATCH-FIX-UPSTREAM noqDebug-qWarnings.patch -- libdbusmenu uses it's own qDebug's and qWarnings,
# which are useless, and annoy users, so this patch just disables them in release mode
Patch1: noqDebug-qWarnings.patch
+# PATCH-FIX-UPSTREAM full_include_dir.patch -- CMake 2.8.12 creates a fatal error on relative include dirs for a target. silence that policy
+Patch2: full_include_dir.patch
#Needed for DISABLE_FIND_PACKAGE
BuildRequires: cmake >= 2.8.6
BuildRequires: doxygen
@@ -69,6 +71,9 @@
%prep
%setup -q -n %{rname}-%{version}
%patch1 -p1
+%if 0%{?suse_version} <= 1310
+%patch2 -p1
+%endif
# Remove build time references so build-compare can do its work
sed -i "s/HTML_TIMESTAMP = YES/HTML_TIMESTAMP = NO/" Doxyfile.in
++++++ full_include_dir.patch ++++++
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 980e872..fbcd0b1 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -95,7 +95,7 @@ endif()
# Make sure linking to the target adds dbusmenu-qt install directory
target_include_directories(dbusmenu-${QT_SUFFIX}
- INTERFACE "$<INSTALL_INTERFACE:${INCLUDE_INSTALL_DIR}>")
+ INTERFACE "$<INSTALL_INTERFACE:${CMAKE_INSTALL_PREFIX}/${INCLUDE_INSTALL_DIR}>")
install(TARGETS dbusmenu-${QT_SUFFIX}
EXPORT dbusmenu-${QT_SUFFIX}-targets
++++++ libdbusmenu-qt_0.9.2+14.04.20131209.orig.tar.gz -> libdbusmenu-qt_0.9.3+14.10.20140619.orig.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libdbusmenu-qt-0.9.2+14.04.20131209/CMakeLists.txt new/libdbusmenu-qt-0.9.3+14.10.20140619/CMakeLists.txt
--- old/libdbusmenu-qt-0.9.2+14.04.20131209/CMakeLists.txt 2013-12-09 03:29:47.000000000 +0100
+++ new/libdbusmenu-qt-0.9.3+14.10.20140619/CMakeLists.txt 2014-06-19 11:07:07.000000000 +0200
@@ -1,5 +1,5 @@
project(dbusmenu-qt)
-cmake_minimum_required(VERSION 2.8.0)
+cmake_minimum_required(VERSION 2.8.11)
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/modules")
# Build options
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libdbusmenu-qt-0.9.2+14.04.20131209/src/CMakeLists.txt new/libdbusmenu-qt-0.9.3+14.10.20140619/src/CMakeLists.txt
--- old/libdbusmenu-qt-0.9.2+14.04.20131209/src/CMakeLists.txt 2013-12-09 03:29:47.000000000 +0100
+++ new/libdbusmenu-qt-0.9.3+14.10.20140619/src/CMakeLists.txt 2014-06-19 11:07:07.000000000 +0200
@@ -17,6 +17,11 @@
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall")
endif (__DBUSMENU_HAVE_W_ALL)
+check_cxx_compiler_flag(-std=c++11 __DBUSMENU_HAVE_CXX11)
+if (__DBUSMENU_HAVE_CXX11)
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
+endif (__DBUSMENU_HAVE_CXX11)
+
# Check whether QIcon::name() exists. It was added in late Qt 4.7 cycle, and is
# not present in betas.
set(CMAKE_REQUIRED_INCLUDES "${QT_INCLUDE_DIR}")
@@ -88,6 +93,10 @@
)
endif()
+# Make sure linking to the target adds dbusmenu-qt install directory
+target_include_directories(dbusmenu-${QT_SUFFIX}
+ INTERFACE "$<INSTALL_INTERFACE:${INCLUDE_INSTALL_DIR}>")
+
install(TARGETS dbusmenu-${QT_SUFFIX}
EXPORT dbusmenu-${QT_SUFFIX}-targets
LIBRARY DESTINATION ${LIB_DESTINATION}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libdbusmenu-qt-0.9.2+14.04.20131209/src/dbusmenuimporter.cpp new/libdbusmenu-qt-0.9.3+14.10.20140619/src/dbusmenuimporter.cpp
--- old/libdbusmenu-qt-0.9.2+14.04.20131209/src/dbusmenuimporter.cpp 2013-12-09 03:29:47.000000000 +0100
+++ new/libdbusmenu-qt-0.9.3+14.10.20140619/src/dbusmenuimporter.cpp 2014-06-19 11:06:47.000000000 +0200
@@ -89,6 +89,8 @@
bool m_mustEmitMenuUpdated;
+ DBusMenuImporterType m_type;
+
QDBusPendingCallWatcher *refresh(int id)
{
#ifdef BENCHMARK
@@ -279,9 +281,51 @@
QVariant empty = QVariant::fromValue(QDBusVariant(QString()));
m_interface->asyncCall("Event", id, eventId, empty, 0u);
}
+
+ bool waitForWatcher(QDBusPendingCallWatcher * _watcher, int maxWait)
+ {
+ QPointer<QDBusPendingCallWatcher> watcher(_watcher);
+
+ if(m_type == ASYNCHRONOUS) {
+ QTimer timer;
+ timer.setSingleShot(true);
+ QEventLoop loop;
+ loop.connect(&timer, SIGNAL(timeout()), SLOT(quit()));
+ loop.connect(watcher, SIGNAL(finished(QDBusPendingCallWatcher *)), SLOT(quit()));
+ timer.start(maxWait);
+ loop.exec();
+ timer.stop();
+
+ if (!watcher) {
+ // Watcher died. This can happen if importer got deleted while we were
+ // waiting. See:
+ // https://bugs.kde.org/show_bug.cgi?id=237156
+ return false;
+ }
+
+ if(!watcher->isFinished()) {
+ // Timed out
+ return false;
+ }
+ } else {
+ watcher->waitForFinished();
+ }
+
+ if (watcher->isError()) {
+ DMWARNING << watcher->error().message();
+ return false;
+ }
+
+ return true;
+ }
};
DBusMenuImporter::DBusMenuImporter(const QString &service, const QString &path, QObject *parent)
+: DBusMenuImporter(service, path, ASYNCHRONOUS, parent)
+{
+}
+
+DBusMenuImporter::DBusMenuImporter(const QString &service, const QString &path, DBusMenuImporterType type, QObject *parent)
: QObject(parent)
, d(new DBusMenuImporterPrivate)
{
@@ -292,6 +336,8 @@
d->m_menu = 0;
d->m_mustEmitMenuUpdated = false;
+ d->m_type = type;
+
connect(&d->m_mapper, SIGNAL(mapped(int)), SLOT(sendClickedEvent(int)));
d->m_pendingLayoutUpdateTimer = new QTimer(this);
@@ -443,33 +489,6 @@
QMetaObject::invokeMethod(menu(), "aboutToShow");
}
-static bool waitForWatcher(QDBusPendingCallWatcher * _watcher, int maxWait)
-{
- QTime time;
- time.start();
- QPointer<QDBusPendingCallWatcher> watcher(_watcher);
- while (watcher && !watcher->isFinished() && time.elapsed() < maxWait) {
- QCoreApplication::processEvents(QEventLoop::ExcludeUserInputEvents);
- }
-
- if (!watcher) {
- // Watcher died. This can happen if importer got deleted while we were
- // waiting. See:
- // https://bugs.kde.org/show_bug.cgi?id=237156
- return false;
- }
-
- // Tricky: watcher has indicated it is finished, but its finished() signal
- // has not been emitted yet. Calling waitForFinished() ensures it is
- // emitted.
- if (watcher->isFinished()) {
- watcher->waitForFinished();
- return true;
- } else {
- return false;
- }
-}
-
void DBusMenuImporter::slotMenuAboutToShow()
{
QMenu *menu = qobject_cast<QMenu*>(sender());
@@ -493,7 +512,7 @@
QPointer<QObject> guard(this);
- if (!waitForWatcher(watcher, ABOUT_TO_SHOW_TIMEOUT)) {
+ if (!d->waitForWatcher(watcher, ABOUT_TO_SHOW_TIMEOUT)) {
DMWARNING << "Application did not answer to AboutToShow() before timeout";
}
@@ -533,7 +552,7 @@
if (needRefresh || menu->actions().isEmpty()) {
d->m_idsRefreshedByAboutToShow << id;
watcher = d->refresh(id);
- if (!waitForWatcher(watcher, REFRESH_TIMEOUT)) {
+ if (!d->waitForWatcher(watcher, REFRESH_TIMEOUT)) {
DMWARNING << "Application did not refresh before timeout";
}
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libdbusmenu-qt-0.9.2+14.04.20131209/src/dbusmenuimporter.h new/libdbusmenu-qt-0.9.3+14.10.20140619/src/dbusmenuimporter.h
--- old/libdbusmenu-qt-0.9.2+14.04.20131209/src/dbusmenuimporter.h 2013-12-09 03:29:47.000000000 +0100
+++ new/libdbusmenu-qt-0.9.3+14.10.20140619/src/dbusmenuimporter.h 2014-06-19 11:06:47.000000000 +0200
@@ -35,6 +35,16 @@
class QMenu;
class DBusMenuImporterPrivate;
+
+/**
+ * Determine whether internal method calls should allow the Qt event loop
+ * to execute or not
+ */
+enum DBusMenuImporterType {
+ ASYNCHRONOUS,
+ SYNCHRONOUS
+};
+
/**
* A DBusMenuImporter instance can recreate a menu serialized over DBus by
* DBusMenuExporter
@@ -48,6 +58,12 @@
*/
DBusMenuImporter(const QString &service, const QString &path, QObject *parent = 0);
+ /**
+ * Creates a DBusMenuImporter listening over DBus on service, path, with either async
+ * or sync DBus calls
+ */
+ DBusMenuImporter(const QString &service, const QString &path, DBusMenuImporterType type, QObject *parent = 0);
+
virtual ~DBusMenuImporter();
/**
@@ -121,7 +137,7 @@
friend class DBusMenuImporterPrivate;
// Use Q_PRIVATE_SLOT to avoid exposing DBusMenuItemList
- Q_PRIVATE_SLOT(d, void slotItemsPropertiesUpdated(const DBusMenuItemList &updatedList, const DBusMenuItemKeysList &removedList));
+ Q_PRIVATE_SLOT(d, void slotItemsPropertiesUpdated(const DBusMenuItemList &updatedList, const DBusMenuItemKeysList &removedList))
};
#endif /* DBUSMENUIMPORTER_H */
++++++ noqDebug-qWarnings.patch ++++++
--- /var/tmp/diff_new_pack.zmA6QS/_old 2014-09-18 07:57:28.000000000 +0200
+++ /var/tmp/diff_new_pack.zmA6QS/_new 2014-09-18 07:57:28.000000000 +0200
@@ -1,7 +1,8 @@
-diff -Naur libdbusmenu-qt-0.9.2+14.04.20131209.orig/CMakeLists.txt libdbusmenu-qt-0.9.2+14.04.20131209/CMakeLists.txt
---- libdbusmenu-qt-0.9.2+14.04.20131209.orig/CMakeLists.txt 2013-12-09 03:29:47.000000000 +0100
-+++ libdbusmenu-qt-0.9.2+14.04.20131209/CMakeLists.txt 2013-12-18 21:58:01.847669366 +0100
-@@ -91,7 +91,7 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 0ee9154..597a7de 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -91,7 +91,7 @@ install(FILES ${CMAKE_BINARY_DIR}/dbusmenu-${QT_SUFFIX}.pc
add_subdirectory(src)
if (NOT USE_QT5) # TODO port tests to Qt5
@@ -10,10 +11,11 @@
endif()
add_subdirectory(tools)
-diff -Naur libdbusmenu-qt-0.9.2+14.04.20131209.orig/src/dbusmenuexporter.cpp libdbusmenu-qt-0.9.2+14.04.20131209/src/dbusmenuexporter.cpp
---- libdbusmenu-qt-0.9.2+14.04.20131209.orig/src/dbusmenuexporter.cpp 2013-12-09 03:29:47.000000000 +0100
-+++ libdbusmenu-qt-0.9.2+14.04.20131209/src/dbusmenuexporter.cpp 2013-12-18 21:59:13.984767528 +0100
-@@ -160,7 +160,9 @@
+diff --git a/src/dbusmenuexporter.cpp b/src/dbusmenuexporter.cpp
+index f25718d..8868efb 100644
+--- a/src/dbusmenuexporter.cpp
++++ b/src/dbusmenuexporter.cpp
+@@ -160,7 +160,9 @@ void DBusMenuExporterPrivate::fillLayoutItem(DBusMenuLayoutItem *item, QMenu *me
Q_FOREACH(QAction *action, menu->actions()) {
int actionId = m_idForAction.value(action, -1);
if (actionId == -1) {
@@ -23,7 +25,7 @@
continue;
}
-@@ -185,7 +187,9 @@
+@@ -185,7 +187,9 @@ void DBusMenuExporterPrivate::addAction(QAction *action, int parentId)
{
int id = m_idForAction.value(action, -1);
if (id != -1) {
@@ -33,10 +35,21 @@
return;
}
QVariantMap map = propertiesForAction(action);
-diff -Naur libdbusmenu-qt-0.9.2+14.04.20131209.orig/src/dbusmenuimporter.cpp libdbusmenu-qt-0.9.2+14.04.20131209/src/dbusmenuimporter.cpp
---- libdbusmenu-qt-0.9.2+14.04.20131209.orig/src/dbusmenuimporter.cpp 2013-12-09 03:29:47.000000000 +0100
-+++ libdbusmenu-qt-0.9.2+14.04.20131209/src/dbusmenuimporter.cpp 2013-12-18 22:06:44.057140849 +0100
-@@ -191,7 +191,9 @@
+diff --git a/src/dbusmenuimporter.cpp b/src/dbusmenuimporter.cpp
+index 2a4c514..2f03729 100644
+--- a/src/dbusmenuimporter.cpp
++++ b/src/dbusmenuimporter.cpp
+@@ -94,7 +94,9 @@ public:
+ QDBusPendingCallWatcher *refresh(int id)
+ {
+ #ifdef BENCHMARK
++#ifndef QT_NO_DEBUG
+ DMDEBUG << "Starting refresh chrono for id" << id;
++#endif
+ sChrono.start();
+ #endif
+ QDBusPendingCall call = m_interface->asyncCall("GetLayout", id, 1, QStringList());
+@@ -193,7 +195,9 @@ public:
updateActionShortcut(action, value);
} else if (key == "children-display") {
} else {
@@ -46,7 +59,7 @@
}
}
-@@ -239,7 +241,9 @@
+@@ -241,7 +245,9 @@ public:
action->setProperty(DBUSMENU_PROPERTY_ICON_DATA_HASH, dataHash);
QPixmap pix;
if (!pix.loadFromData(data)) {
@@ -56,7 +69,17 @@
action->setIcon(QIcon());
return;
}
-@@ -390,7 +394,9 @@
+@@ -312,7 +318,9 @@ public:
+ }
+
+ if (watcher->isError()) {
++#ifndef QT_NO_DEBUG
+ DMWARNING << watcher->error().message();
++#endif
+ return false;
+ }
+
+@@ -436,18 +444,24 @@ void DBusMenuImporter::slotGetLayoutFinished(QDBusPendingCallWatcher *watcher)
QDBusPendingReply<uint, DBusMenuLayoutItem> reply = *watcher;
if (!reply.isValid()) {
@@ -66,7 +89,12 @@
return;
}
-@@ -401,7 +407,9 @@
+ #ifdef BENCHMARK
++#ifndef QT_NO_DEBUG
+ DMDEBUG << "- items received:" << sChrono.elapsed() << "ms";
++#endif
+ #endif
+ DBusMenuLayoutItem rootItem = reply.argumentAt<1>();
QMenu *menu = d->menuForId(parentId);
if (!menu) {
@@ -76,17 +104,27 @@
return;
}
-@@ -494,7 +502,9 @@
+@@ -474,7 +488,9 @@ void DBusMenuImporter::slotGetLayoutFinished(QDBusPendingCallWatcher *watcher)
+ }
+ }
+ #ifdef BENCHMARK
++#ifndef QT_NO_DEBUG
+ DMDEBUG << "- Menu filled:" << sChrono.elapsed() << "ms";
++#endif
+ #endif
+ }
+
+@@ -513,7 +529,9 @@ void DBusMenuImporter::slotMenuAboutToShow()
QPointer<QObject> guard(this);
- if (!waitForWatcher(watcher, ABOUT_TO_SHOW_TIMEOUT)) {
+ if (!d->waitForWatcher(watcher, ABOUT_TO_SHOW_TIMEOUT)) {
+#ifndef QT_NO_DEBUG
DMWARNING << "Application did not answer to AboutToShow() before timeout";
+#endif
}
#ifdef BENCHMARK
-@@ -522,7 +532,9 @@
+@@ -541,7 +559,9 @@ void DBusMenuImporter::slotAboutToShowDBusCallFinished(QDBusPendingCallWatcher *
QDBusPendingReply<bool> reply = *watcher;
if (reply.isError()) {
@@ -96,19 +134,20 @@
return;
}
bool needRefresh = reply.argumentAt<0>();
-@@ -534,7 +546,9 @@
+@@ -553,7 +573,9 @@ void DBusMenuImporter::slotAboutToShowDBusCallFinished(QDBusPendingCallWatcher *
d->m_idsRefreshedByAboutToShow << id;
watcher = d->refresh(id);
- if (!waitForWatcher(watcher, REFRESH_TIMEOUT)) {
+ if (!d->waitForWatcher(watcher, REFRESH_TIMEOUT)) {
+#ifndef QT_NO_DEBUG
DMWARNING << "Application did not refresh before timeout";
+#endif
}
}
}
-diff -Naur libdbusmenu-qt-0.9.2+14.04.20131209.orig/src/debug_p.h libdbusmenu-qt-0.9.2+14.04.20131209/src/debug_p.h
---- libdbusmenu-qt-0.9.2+14.04.20131209.orig/src/debug_p.h 2013-12-09 03:29:47.000000000 +0100
-+++ libdbusmenu-qt-0.9.2+14.04.20131209/src/debug_p.h 2013-12-18 22:02:33.923267953 +0100
+diff --git a/src/debug_p.h b/src/debug_p.h
+index bff37bd..ecdd3a5 100644
+--- a/src/debug_p.h
++++ b/src/debug_p.h
@@ -36,12 +36,10 @@
#define DMVAR(var) DMDEBUG << #var ":" << var
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package libqt5-creator for openSUSE:Factory checked in at 2014-09-18 07:57:02
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libqt5-creator (Old)
and /work/SRC/openSUSE:Factory/.libqt5-creator.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libqt5-creator"
Changes:
--------
--- /work/SRC/openSUSE:Factory/libqt5-creator/libqt5-creator.changes 2014-09-08 21:29:06.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.libqt5-creator.new/libqt5-creator.changes 2014-09-18 07:57:24.000000000 +0200
@@ -1,0 +2,7 @@
+Tue Sep 16 12:13:27 UTC 2014 - hrvoje.senjan(a)gmail.com
+
+- Update to 3.2.1
+ * Bugfix release, for more details please see:
+ http://blog.qt.digia.com/blog/2014/09/16/qt-creator-3-2-1-released/
+
+-------------------------------------------------------------------
Old:
----
qt-creator-opensource-src-3.2.0.tar.gz
New:
----
qt-creator-opensource-src-3.2.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libqt5-creator.spec ++++++
--- /var/tmp/diff_new_pack.mRwhCD/_old 2014-09-18 07:57:26.000000000 +0200
+++ /var/tmp/diff_new_pack.mRwhCD/_new 2014-09-18 07:57:26.000000000 +0200
@@ -17,15 +17,15 @@
Name: libqt5-creator
-Version: 3.2.0
+Version: 3.2.1
Release: 0
Summary: Lightweight IDE
License: SUSE-LGPL-2.1-with-digia-exception-1.1
Group: Development/Tools/IDE
Url: http://qt.digia.com/Product/Developer-Tools/
-%define rversion 3.2.0
+%define rversion 3.2.1
%define rname qt-creator
-%define qt5_version 5.3.2~git20140904
+%define qt5_version 5.3.2
Source: https://download.qt-project.org/official_releases/qtcreator/3.2/%{rversion}…
Source1: %{name}-rpmlintrc
Source2: qtcreator.desktop
++++++ qt-creator-opensource-src-3.2.0.tar.gz -> qt-creator-opensource-src-3.2.1.tar.gz ++++++
/work/SRC/openSUSE:Factory/libqt5-creator/qt-creator-opensource-src-3.2.0.tar.gz /work/SRC/openSUSE:Factory/.libqt5-creator.new/qt-creator-opensource-src-3.2.1.tar.gz differ: char 5, line 1
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package libqt5-qtdoc for openSUSE:Factory checked in at 2014-09-18 07:57:01
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libqt5-qtdoc (Old)
and /work/SRC/openSUSE:Factory/.libqt5-qtdoc.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libqt5-qtdoc"
Changes:
--------
--- /work/SRC/openSUSE:Factory/libqt5-qtdoc/libqt5-qtdoc.changes 2014-07-21 22:34:51.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.libqt5-qtdoc.new/libqt5-qtdoc.changes 2014-09-18 07:57:18.000000000 +0200
@@ -1,0 +2,6 @@
+Tue Sep 16 11:27:50 UTC 2014 - hrvoje.senjan(a)gmail.com
+
+- Update Qt documention to 5.3.2
+ * Fixed several instances of missing or incorrect information.
+
+-------------------------------------------------------------------
Old:
----
qt-docs-qchs-5.3.1.tar.xz
qtdoc-opensource-src-5.3.1.tar.xz
New:
----
qt-docs-qchs-5.3.2.tar.xz
qtdoc-opensource-src-5.3.2.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libqt5-qtdoc.spec ++++++
--- /var/tmp/diff_new_pack.qKFMha/_old 2014-09-18 07:57:24.000000000 +0200
+++ /var/tmp/diff_new_pack.qKFMha/_new 2014-09-18 07:57:24.000000000 +0200
@@ -18,10 +18,10 @@
Name: libqt5-qtdoc
-Version: 5.3.1
+Version: 5.3.2
Release: 0
%define base_name libqt5
-%define real_version 5.3.1
+%define real_version 5.3.2
%define tar_version qtdoc-opensource-src-%{real_version}
BuildRequires: fdupes
BuildRequires: libqt5-qtbase-devel
++++++ qt-docs-qchs-5.3.1.tar.xz -> qt-docs-qchs-5.3.2.tar.xz ++++++
/work/SRC/openSUSE:Factory/libqt5-qtdoc/qt-docs-qchs-5.3.1.tar.xz /work/SRC/openSUSE:Factory/.libqt5-qtdoc.new/qt-docs-qchs-5.3.2.tar.xz differ: char 27, line 1
++++++ qtdoc-opensource-src-5.3.1.tar.xz -> qtdoc-opensource-src-5.3.2.tar.xz ++++++
/work/SRC/openSUSE:Factory/libqt5-qtdoc/qtdoc-opensource-src-5.3.1.tar.xz /work/SRC/openSUSE:Factory/.libqt5-qtdoc.new/qtdoc-opensource-src-5.3.2.tar.xz differ: char 26, line 1
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package libqt5-qtxmlpatterns for openSUSE:Factory checked in at 2014-09-18 07:57:00
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libqt5-qtxmlpatterns (Old)
and /work/SRC/openSUSE:Factory/.libqt5-qtxmlpatterns.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libqt5-qtxmlpatterns"
Changes:
--------
--- /work/SRC/openSUSE:Factory/libqt5-qtxmlpatterns/libqt5-qtxmlpatterns.changes 2014-09-08 21:28:57.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.libqt5-qtxmlpatterns.new/libqt5-qtxmlpatterns.changes 2014-09-18 07:57:16.000000000 +0200
@@ -1,0 +2,7 @@
+Tue Sep 16 11:27:59 UTC 2014 - hrvoje.senjan(a)gmail.com
+
+- Update to 5.3.2 final
+ * No changes since previous snapshot
+ * Use official tars
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libqt5-qtxmlpatterns.spec ++++++
--- /var/tmp/diff_new_pack.ewksAb/_old 2014-09-18 07:57:17.000000000 +0200
+++ /var/tmp/diff_new_pack.ewksAb/_new 2014-09-18 07:57:17.000000000 +0200
@@ -16,12 +16,12 @@
#
-%define qt5_snapshot 1
+%define qt5_snapshot 0
%define libname libQt5XmlPatterns5
Name: libqt5-qtxmlpatterns
-Version: 5.3.2~git20140904
+Version: 5.3.2
Release: 0
Summary: Qt 5 XmlPatterns Library
License: SUSE-LGPL-2.1-with-digia-exception-1.1 or GPL-3.0
++++++ qtxmlpatterns-opensource-src-5.3.2.tar.xz ++++++
++++ 2041 lines of diff (skipped)
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0