Hello community, here is the log from the commit of package baloo for openSUSE:Factory checked in at 2014-08-25 10:58:07 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 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-07-16 16:16:36.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.baloo.new/baloo.changes 2014-08-25 10:58:11.000000000 +0200 @@ -1,0 +2,14 @@ +Fri Aug 15 08:17:45 UTC 2014 - tittiatc...@gmail.com + +- Update to 4.14.0 + * KDE 4.14.0 SC Final Release + * See http://www.kde.org/announcements/4.13/ + +------------------------------------------------------------------- +Thu Jul 17 16:43:41 UTC 2014 - cgiboude...@gmx.com + +- Update to 4.13.90 + * KDE 4.14 Beta 2 release + * See http://www.kde.org/announcements/announce-4.14-beta2.php + +------------------------------------------------------------------- Old: ---- baloo-4.13.80.tar.xz New: ---- baloo-4.14.0.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ baloo.spec ++++++ --- /var/tmp/diff_new_pack.ndbeBY/_old 2014-08-25 10:58:12.000000000 +0200 +++ /var/tmp/diff_new_pack.ndbeBY/_new 2014-08-25 10:58:12.000000000 +0200 @@ -17,7 +17,7 @@ Name: baloo -Version: 4.13.80 +Version: 4.14.0 Release: 0 Summary: Framework for searching and managing metadata License: GPL-2.0+ and LGPL-2.1+ ++++++ baloo-4.13.80.tar.xz -> baloo-4.14.0.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/baloo-4.13.80/CMakeLists.txt new/baloo-4.14.0/CMakeLists.txt --- old/baloo-4.13.80/CMakeLists.txt 2014-07-08 07:36:46.000000000 +0200 +++ new/baloo-4.14.0/CMakeLists.txt 2014-08-09 17:45:30.000000000 +0200 @@ -1,8 +1,8 @@ project(baloo) set(BALOO_VERSION_MAJOR 4) -set(BALOO_VERSION_MINOR 13) -set(BALOO_VERSION_RELEASE 80) +set(BALOO_VERSION_MINOR 14) +set(BALOO_VERSION_RELEASE 0) set(BALOO_VERSION "${BALOO_VERSION_MAJOR}.${BALOO_VERSION_MINOR}.${BALOO_VERSION_RELEASE}") set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake/modules" ${CMAKE_MODULE_PATH}) @@ -10,7 +10,7 @@ find_package(KDE4 REQUIRED) include(KDE4Defaults) -find_package(KdepimLibs 4.13.80 CONFIG) +find_package(KdepimLibs 4.14.0 CONFIG) set_package_properties(KdepimLibs PROPERTIES DESCRIPTION "The KDEPIM libraries" URL "http://www.kde.org" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/baloo-4.13.80/src/file/baloo_file.desktop new/baloo-4.14.0/src/file/baloo_file.desktop --- old/baloo-4.13.80/src/file/baloo_file.desktop 2014-07-08 07:36:46.000000000 +0200 +++ new/baloo-4.14.0/src/file/baloo_file.desktop 2014-08-09 17:45:30.000000000 +0200 @@ -9,6 +9,7 @@ NoDisplay=true Name=Baloo File Daemon +Name[ar]=مراقب ملفات بالو Name[bs]=Baloo datotečni demon Name[ca]=Dimoni de fitxers Baloo Name[ca@valencia]=Dimoni de fitxers Baloo @@ -17,6 +18,7 @@ Name[el]=Δαίμονας αρχείων Baloo Name[en_GB]=Baloo File Daemon Name[es]=Demonio del archivo Baloo +Name[et]=Baloo failideemon Name[fi]=Baloo-tiedostopalvelu Name[fr]=Démon de fichier Baloo Name[gl]=Daemon de ficheiros de Baloo diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/baloo-4.13.80/src/file/database.cpp new/baloo-4.14.0/src/file/database.cpp --- old/baloo-4.13.80/src/file/database.cpp 2014-07-08 07:36:46.000000000 +0200 +++ new/baloo-4.14.0/src/file/database.cpp 2014-08-09 17:45:30.000000000 +0200 @@ -61,9 +61,11 @@ m_sqlDb = new QSqlDatabase(QSqlDatabase::addDatabase(QLatin1String("QSQLITE"))); m_sqlDb->setDatabaseName(m_path + QLatin1String("/fileMap.sqlite3")); + kDebug() << m_path << QFile::exists(m_path); if (!m_sqlDb->open()) { kDebug() << "Failed to open db" << m_sqlDb->lastError().text(); + kDebug() << m_sqlDb->lastError(); return false; } @@ -111,6 +113,8 @@ m_path = path; if (!m_path.endsWith(QLatin1Char('/'))) m_path.append(QLatin1Char('/')); + + QDir().mkpath(m_path); } bool Database::isInitialized() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/baloo-4.13.80/src/file/extractor/app.cpp new/baloo-4.14.0/src/file/extractor/app.cpp --- old/baloo-4.13.80/src/file/extractor/app.cpp 2014-07-08 07:36:46.000000000 +0200 +++ new/baloo-4.14.0/src/file/extractor/app.cpp 2014-08-09 17:45:30.000000000 +0200 @@ -61,6 +61,7 @@ QTimer::singleShot(0, QCoreApplication::instance(), SLOT(quit())); return; } + m_db.sqlDatabase().transaction(); m_bData = args->isSet("bdata"); m_debugEnabled = args->isSet("debug"); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/baloo-4.13.80/src/file/extractor/autotests/extractortest.cpp new/baloo-4.14.0/src/file/extractor/autotests/extractortest.cpp --- old/baloo-4.13.80/src/file/extractor/autotests/extractortest.cpp 2014-07-08 07:36:46.000000000 +0200 +++ new/baloo-4.14.0/src/file/extractor/autotests/extractortest.cpp 2014-08-09 17:45:30.000000000 +0200 @@ -49,6 +49,7 @@ process.start(exe, args); QVERIFY(process.waitForFinished(1000)); + qDebug() << process.readAllStandardError(); QByteArray bytearray = QByteArray::fromBase64(process.readAllStandardOutput()); QVariantMap data; QDataStream in(&bytearray, QIODevice::ReadOnly); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/baloo-4.13.80/src/file/inotify/org.kde.baloo.filewatch.actions new/baloo-4.14.0/src/file/inotify/org.kde.baloo.filewatch.actions --- old/baloo-4.13.80/src/file/inotify/org.kde.baloo.filewatch.actions 2014-07-08 07:36:46.000000000 +0200 +++ new/baloo-4.14.0/src/file/inotify/org.kde.baloo.filewatch.actions 2014-08-09 17:45:30.000000000 +0200 @@ -1,5 +1,6 @@ [org.kde.baloo.filewatch.raiselimit] Name=Folder Watch Limit +Name[ar]=حدّ مراقبة المجلدات Name[bs]=Ograničenje praćenja direktorija Name[ca]=Límit de vigilància de carpetes Name[ca@valencia]=Límit de vigilància de carpetes @@ -9,6 +10,7 @@ Name[el]=Όριο παρακολούθησης φακέλων Name[en_GB]=Folder Watch Limit Name[es]=Límite de vigilancia de carpetas +Name[et]=Kataloogi jälgimise limiit Name[fi]=Kansioiden valvontaraja Name[fr]=Limite de surveillance des dossiers Name[gl]=Límite de vixilancia do cartafol @@ -37,6 +39,7 @@ Name[zh_CN]=文件夹监视限制 Name[zh_TW]=資料夾監看限制 Description=To avoid missing file changes, raise the inotify folder watch limit +Description[ar]=لتجنب تفويت تغييرات الملفات، ارفع حدّ مراقبة المجلد في inotify Description[bs]=Da izbjegnete nedostajuće izmjene datoteka, povećajte limit za inofity direktorij. Description[ca]=Per evitar la pèrdua de canvis de fitxers, eleveu el límit de vigilància de carpetes de l'«inotify» Description[ca@valencia]=Per evitar la pèrdua de canvis de fitxers, eleveu el límit de vigilància de carpetes de l'«inotify» @@ -46,6 +49,7 @@ Description[el]=Για να αποφύγετε την παράβλεψη αλλαγών των αρχείων, αυξήστε το όριο παρακολούθησης φακέλων inotify Description[en_GB]=To avoid missing file changes, raise the inotify folder watch limit Description[es]=Para evitar pérdidas en cambios de archivos, eleve el límite de vigilancia de carpetas inotify +Description[et]=Puuduvate failimuutuste vältimiseks tõsta inotify kataloogi jälgimise limiiti Description[fi]=Nosta inotifyn kansioiden valvontarajaa välttääksesi sitä, että joitain tiedostomuutoksia ei huomata Description[fr]=Pour éviter des changements de fichiers manquant, augmentez la limite de surveillance des dossiers Description[gl]=Para evitar perder cambios nos ficheiros aumente o límite de vixilancia de cartafol de inotify diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/baloo-4.13.80/src/file/kcm/kcm_baloofile.desktop new/baloo-4.14.0/src/file/kcm/kcm_baloofile.desktop --- old/baloo-4.13.80/src/file/kcm/kcm_baloofile.desktop 2014-07-08 07:36:46.000000000 +0200 +++ new/baloo-4.14.0/src/file/kcm/kcm_baloofile.desktop 2014-08-09 17:45:30.000000000 +0200 @@ -10,6 +10,7 @@ X-KDE-System-Settings-Parent-Category=workspace-appearance-and-behavior Name=Desktop Search +Name[ar]=البحث في سطح المكتب Name[bs]=Pretraga površi Name[ca]=Cerca a l'escriptori Name[ca@valencia]=Cerca a l'escriptori @@ -19,6 +20,7 @@ Name[el]=Αναζήτηση στην επιφάνεια εργασίας Name[en_GB]=Desktop Search Name[es]=Búsqueda de escritorio +Name[et]=Töölauaotsing Name[fi]=Työpöytähaku Name[fr]=Recherche sur le bureau Name[gl]=Busca no escritorio @@ -48,6 +50,7 @@ Name[zh_CN]=桌面搜索 Name[zh_TW]=桌面搜尋 Comment=Configure Desktop Search +Comment[ar]=اضبط البحث في سطح المكتب Comment[ca]=Configuració de la cerca a l'escriptori Comment[ca@valencia]=Configuració de la cerca a l'escriptori Comment[cs]=Nastavit vyhledávací služby @@ -56,6 +59,7 @@ Comment[el]=Διαμόρφωση αναζήτησης επιφάνειας εργασίας Comment[en_GB]=Configure Desktop Search Comment[es]=Configurar la búsqueda de escritorio +Comment[et]=Töölauaotsingu seadistamine Comment[fi]=Työpöytähaun asetukset Comment[fr]=Configurer la recherche sur le bureau Comment[gl]=Configurar a busca de escritorio @@ -68,7 +72,7 @@ Comment[nds]=Schriefdischsöök instellen Comment[nl]=Bureaubladzoeken instellen... Comment[pa]=ਡੈਸਕਟਾਪ ਖੋਜ ਸੰਰਚਨਾ -Comment[pl]=Konfiguruj znajdywanie na pulpicie +Comment[pl]=Ustawienia wyszukiwania na pulpicie Comment[pt]=Configurar a Pesquisa no Ambiente de Trabalho Comment[pt_BR]=Configurar a pesquisa no desktop Comment[ru]=Настройка службы поиска @@ -85,6 +89,7 @@ Comment[zh_CN]=配置桌面搜索 Comment[zh_TW]=設定桌面搜尋 X-KDE-Keywords=Search, File, Baloo +X-KDE-Keywords[ar]=Search, File, Baloo, بحث, ملف, بالو, ملفات, البحث, الملفات, X-KDE-Keywords[ca]=Cerca, Fitxer, Baloo X-KDE-Keywords[ca@valencia]=Cerca, Fitxer, Baloo X-KDE-Keywords[cs]=Hledat, Soubor, Baloo @@ -93,6 +98,7 @@ X-KDE-Keywords[el]=Αναζήτηση, Αρχείο, Baloo X-KDE-Keywords[en_GB]=Search, File, Baloo X-KDE-Keywords[es]=Buscar, archivo, Baloo +X-KDE-Keywords[et]=Otsing, Fail, Baloo X-KDE-Keywords[fi]=Search, File, haku, tiedosto, Baloo X-KDE-Keywords[fr]=Recherche, fichier, Baloo X-KDE-Keywords[gl]=Buscar, ficheiro, Baloo diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/baloo-4.13.80/src/file/lib/autotests/filemodifyjobtest.cpp new/baloo-4.14.0/src/file/lib/autotests/filemodifyjobtest.cpp --- old/baloo-4.13.80/src/file/lib/autotests/filemodifyjobtest.cpp 2014-07-08 07:36:46.000000000 +0200 +++ new/baloo-4.14.0/src/file/lib/autotests/filemodifyjobtest.cpp 2014-08-09 17:45:30.000000000 +0200 @@ -66,7 +66,7 @@ QCOMPARE(value.toInt(), 5); len = baloo_getxattr(fileUrl, QLatin1String("user.xdg.tags"), &value); - QCOMPARE(len, 0); + QCOMPARE(len, -1); len = baloo_getxattr(fileUrl, QLatin1String("user.xdg.comment"), &value); QVERIFY(len > 0); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/baloo-4.13.80/src/file/lib/baloo_xattr_p.h new/baloo-4.14.0/src/file/lib/baloo_xattr_p.h --- old/baloo-4.13.80/src/file/lib/baloo_xattr_p.h 2014-07-08 07:36:46.000000000 +0200 +++ new/baloo-4.14.0/src/file/lib/baloo_xattr_p.h 2014-08-09 17:45:30.000000000 +0200 @@ -103,4 +103,25 @@ #endif } + +inline int baloo_removexattr(const QString& path, const QString& name) +{ + const QByteArray p = QFile::encodeName(path); + const char* encodedPath = p.constData(); + + const QByteArray n = name.toUtf8(); + const char* attributeName = n.constData(); + + #if defined(Q_OS_LINUX) || (defined(__GLIBC__) && !defined(__stub_removexattr)) + return removexattr(encodedPath, attributeName); + #elif defined(Q_OS_MAC) + return removexattr(encodedPath, attributeName, XATTR_NOFOLLOW ); + #elif defined(Q_OS_FREEBSD) || defined(Q_OS_NETBSD) + return removexattr (encodedPath, attributeName); + #else + return -1; + #endif + +} + #endif // BALOO_XATTR_P_H diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/baloo-4.13.80/src/file/lib/filecustommetadata.cpp new/baloo-4.14.0/src/file/lib/filecustommetadata.cpp --- old/baloo-4.13.80/src/file/lib/filecustommetadata.cpp 2014-07-08 07:36:46.000000000 +0200 +++ new/baloo-4.14.0/src/file/lib/filecustommetadata.cpp 2014-08-09 17:45:30.000000000 +0200 @@ -37,7 +37,17 @@ void Baloo::setCustomFileMetaData(const QString& url, const QString& key, const QString& value) { - if (g_detector->isSupported(url)) { + bool isValueEmpty = value.isEmpty(); + bool isSupported = g_detector->isSupported(url); + + if (isSupported && isValueEmpty) { + int r = baloo_removexattr(url,key); + if (r == -1) { + qWarning() << "Could not delete xattr for" << url << key; + return; + } + } + else if (isSupported && !isValueEmpty) { int r = baloo_setxattr(url, key, value); if (r == -1) { kError() << "Could not store xattr for" << url << key << value; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/baloo-4.13.80/src/pim/agent/akonadibalooindexingagent.desktop new/baloo-4.14.0/src/pim/agent/akonadibalooindexingagent.desktop --- old/baloo-4.13.80/src/pim/agent/akonadibalooindexingagent.desktop 2014-07-08 07:36:46.000000000 +0200 +++ new/baloo-4.14.0/src/pim/agent/akonadibalooindexingagent.desktop 2014-08-09 17:45:30.000000000 +0200 @@ -1,5 +1,6 @@ [Desktop Entry] Name=Akonadi Baloo Indexing Agent +Name[ar]=عميل أكونادي لفهرسة بالو Name[bs]=Akonadi Baloo agent za indeksiranje Name[ca]=Agent d'indexació Baloo de l'Akonadi Name[ca@valencia]=Agent d'indexació Baloo de l'Akonadi @@ -8,6 +9,7 @@ Name[el]=Πράκτορας δεικτοδότησης Baloo Akonadi Name[en_GB]=Akonadi Baloo Indexing Agent Name[es]=Agente de indexación Baloo de Akonadi +Name[et]=Akonadi Baloo indekseerimise agent Name[fi]=Akonadin Baloo-indeksointiagentti Name[fr]=Agent d'indexation Baloo de Akonadi Name[gl]=Axente de indexación de Baloo diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/baloo-4.13.80/src/pim/akonadiplugin/akonadibaloosearchplugin.desktop new/baloo-4.14.0/src/pim/akonadiplugin/akonadibaloosearchplugin.desktop --- old/baloo-4.13.80/src/pim/akonadiplugin/akonadibaloosearchplugin.desktop 2014-07-08 07:36:46.000000000 +0200 +++ new/baloo-4.14.0/src/pim/akonadiplugin/akonadibaloosearchplugin.desktop 2014-08-09 17:45:30.000000000 +0200 @@ -1,6 +1,7 @@ [Desktop Entry] Type=AkonadiSearchPlugin Name=Akonadi Baloo Search Plugin +Name[ar]=ملحق أكونادي لبحث بالو Name[ca]=Connector de cerca Baloo de l'Akonadi Name[ca@valencia]=Connector de cerca Baloo de l'Akonadi Name[da]=Akonadi-søgeplugin til Baloo @@ -8,6 +9,7 @@ Name[el]=Πράκτορας αναζήτησης Baloo Akonadi Name[en_GB]=Akonadi Baloo Search Plugin Name[es]=Agente de búsqueda Baloo de Akonadi +Name[et]=Akonadi Baloo otsingu plugin Name[fi]=Akonadin Baloo-hakuliitännäinen Name[fr]=Module de recherche Baloo pour Akonadi Name[gl]=Complemento de busca en Akonadi para Baloo diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/baloo-4.13.80/src/pim/lib/emailquery.cpp new/baloo-4.14.0/src/pim/lib/emailquery.cpp --- old/baloo-4.13.80/src/pim/lib/emailquery.cpp 2014-07-08 07:36:46.000000000 +0200 +++ new/baloo-4.14.0/src/pim/lib/emailquery.cpp 2014-08-09 17:45:30.000000000 +0200 @@ -54,6 +54,7 @@ EmailQuery::OpType opType; int limit; + bool splitSearchMatchString; }; EmailQuery::Private::Private(): @@ -61,7 +62,8 @@ read('0'), attachment('0'), opType(OpAnd), - limit(0) + limit(0), + splitSearchMatchString(true) { } @@ -76,6 +78,11 @@ delete d; } +void EmailQuery::setSplitSearchMatchString(bool split) +{ + d->splitSearchMatchString = split; +} + void EmailQuery::setSearchType(EmailQuery::OpType op) { d->opType = op; @@ -309,10 +316,15 @@ Xapian::QueryParser parser; parser.set_database(db); parser.set_default_op(Xapian::Query::OP_AND); - - const QStringList list = d->matchString.split(QRegExp(QLatin1String("\\s")), QString::SkipEmptyParts); - Q_FOREACH (const QString& s, list) { - const QByteArray ba = s.toUtf8(); + if (d->splitSearchMatchString) { + const QStringList list = d->matchString.split(QRegExp(QLatin1String("\\s")), QString::SkipEmptyParts); + Q_FOREACH (const QString& s, list) { + const QByteArray ba = s.toUtf8(); + m_queries << parser.parse_query(ba.constData(), + Xapian::QueryParser::FLAG_PARTIAL); + } + } else { + const QByteArray ba = d->matchString.toUtf8(); m_queries << parser.parse_query(ba.constData(), Xapian::QueryParser::FLAG_PARTIAL); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/baloo-4.13.80/src/pim/lib/emailquery.h new/baloo-4.14.0/src/pim/lib/emailquery.h --- old/baloo-4.13.80/src/pim/lib/emailquery.h 2014-07-08 07:36:46.000000000 +0200 +++ new/baloo-4.14.0/src/pim/lib/emailquery.h 2014-08-09 17:45:30.000000000 +0200 @@ -43,6 +43,8 @@ OpOr }; + void setSplitSearchMatchString(bool split); + void setSearchType(OpType op); void setInvolves(const QStringList& involves); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/baloo-4.13.80/src/pim/search/email/emailsearchstore.cpp new/baloo-4.14.0/src/pim/search/email/emailsearchstore.cpp --- old/baloo-4.13.80/src/pim/search/email/emailsearchstore.cpp 2014-07-08 07:36:46.000000000 +0200 +++ new/baloo-4.14.0/src/pim/search/email/emailsearchstore.cpp 2014-08-09 17:45:30.000000000 +0200 @@ -101,6 +101,8 @@ QString EmailSearchStore::text(int queryId) { Xapian::Document doc = docForQuery(queryId); + + QMutexLocker lock(&m_mutex); std::string data; try { data = doc.get_data(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/baloo-4.13.80/src/queryparser/completionproposal.h new/baloo-4.14.0/src/queryparser/completionproposal.h --- old/baloo-4.13.80/src/queryparser/completionproposal.h 2014-07-08 07:36:46.000000000 +0200 +++ new/baloo-4.14.0/src/queryparser/completionproposal.h 2014-08-09 17:45:30.000000000 +0200 @@ -46,7 +46,7 @@ /** * \brief Data-type used by the first placeholder of the pattern * - * If the pattern is "sent by %1", the type of "%1" is Contact. This + * If the pattern is "sent by $1", the type of "$1" is Contact. This * way, a GUI can show to the user a list of his or her contacts. */ enum Type @@ -60,13 +60,13 @@ /** * \param pattern list of terms matched by the proposal ("sent", - * "by", "%1" for instance) + * "by", "$1" for instance) * \param last_matched_part index of the last part of the mattern * that has been matched against the user * query * \param position position in the user query of the pattern matched * \param length length in the user query of the terms matched - * \param type if the pattern contains "%1", this is the type of + * \param type if the pattern contains "$1", this is the type of * the value matched by this placeholder * \param description human description of the pattern */ @@ -104,7 +104,7 @@ int length() const; /** - * \return type of the value represented by the "%1" term in the pattern + * \return type of the value represented by the "$1" term in the pattern */ Type type() const; @@ -120,4 +120,4 @@ } -#endif \ No newline at end of file +#endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/baloo-4.13.80/src/queryparser/pass_dateperiods.cpp new/baloo-4.14.0/src/queryparser/pass_dateperiods.cpp --- old/baloo-4.13.80/src/queryparser/pass_dateperiods.cpp 2014-07-08 07:36:46.000000000 +0200 +++ new/baloo-4.14.0/src/queryparser/pass_dateperiods.cpp 2014-08-09 17:45:30.000000000 +0200 @@ -93,7 +93,7 @@ Period p = period; long long v = value; - if (p == VariablePeriod) { + if (p == VariablePeriod && !match.isEmpty()) { // Parse the period from match.at(0) QString period_name = stringValueIfLiteral(match.at(0)); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/baloo-4.13.80/src/queryparser/patternmatcher.cpp new/baloo-4.14.0/src/queryparser/patternmatcher.cpp --- old/baloo-4.13.80/src/queryparser/patternmatcher.cpp 2014-07-08 07:36:46.000000000 +0200 +++ new/baloo-4.14.0/src/queryparser/patternmatcher.cpp 2014-08-09 17:45:30.000000000 +0200 @@ -45,7 +45,7 @@ int capture; Q_FOREACH(const QString &p, pattern) { - if (p.at(0) == QLatin1Char('%')) { + if (p.at(0) == QLatin1Char('$')) { capture = p.mid(1).toInt(); if (capture > max_capture) { @@ -62,10 +62,12 @@ int &start_position, int &end_position) const { + Q_ASSERT(first_term_index < terms.count()); + int pattern_index = 0; int term_index = first_term_index; bool has_matched_a_literal = false; - bool match_anything = false; // Match "%%" + bool match_anything = false; // Match "$$" bool contains_catchall = false; start_position = 1 << 30; @@ -80,7 +82,7 @@ start_position = qMin(start_position, termStart(term)); end_position = qMax(end_position, termEnd(term)); - if (pattern.at(pattern_index) == QLatin1String("%%")) { + if (pattern.at(pattern_index) == QLatin1String("$$")) { // Start to match anything match_anything = true; contains_catchall = true; @@ -125,7 +127,7 @@ } if (contains_catchall || pattern_index == pattern.count()) { - // Patterns containing "%%" typically end with an optional terminating + // Patterns containing "$$" typically end with an optional terminating // term. Allow them to match even if we reach the end of the term list // without encountering the terminating term. return (term_index - first_term_index); @@ -136,7 +138,7 @@ bool PatternMatcher::matchTerm(const Baloo::Term &term, const QString &pattern, int &capture_index) const { - if (pattern.at(0) == QLatin1Char('%')) { + if (pattern.at(0) == QLatin1Char('$')) { // Placeholder capture_index = pattern.mid(1).toInt() - 1; @@ -168,7 +170,7 @@ // user types "sent to size > 2M", that is seen here as "sent to <comparison>". if (!terms.at(first_term_index_not_matching - 1).property().isNull()) { if (--first_term_index_not_matching < 0) { - return; // Avoid an underflow when the pattern is only "%1" for instance. + return; // Avoid an underflow when the pattern is only "$1" for instance. } } @@ -197,11 +199,11 @@ for (int i=0; i<user_friendly_pattern.count(); ++i) { QString &part = user_friendly_pattern[i]; - if (part == QLatin1String("%%")) { - // pattern_parts_to_replace and i cannot be used as %% can hide + if (part == QLatin1String("$$")) { + // pattern_parts_to_replace and i cannot be used as $$ can hide // many terms matched by the pattern. Don't touch the pattern. break; - } else if (part.startsWith(QLatin1Char('%'))) { + } else if (part.startsWith(QLatin1Char('$'))) { continue; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/baloo-4.13.80/src/queryparser/patternmatcher.h new/baloo-4.14.0/src/queryparser/patternmatcher.h --- old/baloo-4.13.80/src/queryparser/patternmatcher.h 2014-07-08 07:36:46.000000000 +0200 +++ new/baloo-4.14.0/src/queryparser/patternmatcher.h 2014-08-09 17:45:30.000000000 +0200 @@ -79,7 +79,7 @@ index = -1; } - // If the pattern contains "%%", terms are appended to the end + // If the pattern contains "$$", terms are appended to the end // of matched_terms. Remove them now that they are not needed anymore while (matched_terms.count() > capture_count) { matched_terms.removeLast(); @@ -110,4 +110,4 @@ int capture_count; }; -#endif \ No newline at end of file +#endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/baloo-4.13.80/src/queryparser/queryparser.cpp new/baloo-4.14.0/src/queryparser/queryparser.cpp --- old/baloo-4.13.80/src/queryparser/queryparser.cpp 2014-07-08 07:36:46.000000000 +0200 +++ new/baloo-4.14.0/src/queryparser/queryparser.cpp 2014-08-09 17:45:30.000000000 +0200 @@ -222,7 +222,7 @@ for (int i=0; i<size; ++i) { QChar c = query.at(i); - if (!between_quotes && (is_user_query || part != QLatin1String("%")) && + if (!between_quotes && (is_user_query || part != QLatin1String("$")) && (split_at_every_char || c.isSpace() || (is_user_query && separators.contains(c)))) { // If there is a cluster of several spaces in the input, part may be empty if (part.size() > 0) { @@ -266,24 +266,24 @@ void QueryParser::Private::runPasses(int cursor_position, QueryParser::ParserFlags flags) { // Prepare literal values - runPass(pass_splitunits, cursor_position, QLatin1String("%1")); - runPass(pass_numbers, cursor_position, QLatin1String("%1")); - runPass(pass_filesize, cursor_position, QLatin1String("%1 %2")); - runPass(pass_typehints, cursor_position, QLatin1String("%1")); + runPass(pass_splitunits, cursor_position, QLatin1String("$1")); + runPass(pass_numbers, cursor_position, QLatin1String("$1")); + runPass(pass_filesize, cursor_position, QLatin1String("$1 $2")); + runPass(pass_typehints, cursor_position, QLatin1String("$1")); if (flags & DetectFilenamePattern) { - runPass(pass_filenames, cursor_position, QLatin1String("%1")); + runPass(pass_filenames, cursor_position, QLatin1String("$1")); } // Date-time periods - runPass(pass_periodnames, cursor_position, QLatin1String("%1")); + runPass(pass_periodnames, cursor_position, QLatin1String("$1")); pass_dateperiods.setKind(PassDatePeriods::VariablePeriod, PassDatePeriods::Offset); runPass(pass_dateperiods, cursor_position, - i18nc("Adding an offset to a period of time (%1=period, %2=offset)", "in %2 %1")); + i18nc("Adding an offset to a period of time ($1=period, $2=offset)", "in $2 $1")); pass_dateperiods.setKind(PassDatePeriods::VariablePeriod, PassDatePeriods::InvertedOffset); runPass(pass_dateperiods, cursor_position, - i18nc("Removing an offset from a period of time (%1=period, %2=offset)", "%2 %1 ago")); + i18nc("Removing an offset from a period of time ($1=period, $2=offset)", "$2 $1 ago")); pass_dateperiods.setKind(PassDatePeriods::Day, PassDatePeriods::Offset, 1); runPass(pass_dateperiods, cursor_position, @@ -300,42 +300,42 @@ pass_dateperiods.setKind(PassDatePeriods::VariablePeriod, PassDatePeriods::Value, 1); runPass(pass_dateperiods, cursor_position, - i18nc("First period (first day, month, etc)", "first %1"), + i18nc("First period (first day, month, etc)", "first $1"), ki18n("First week, month, day, ...")); pass_dateperiods.setKind(PassDatePeriods::VariablePeriod, PassDatePeriods::Value, -1); runPass(pass_dateperiods, cursor_position, - i18nc("Last period (last day, month, etc)", "last %1 of"), + i18nc("Last period (last day, month, etc)", "last $1 of"), ki18n("Last week, month, day, ...")); pass_dateperiods.setKind(PassDatePeriods::VariablePeriod, PassDatePeriods::Value); runPass(pass_dateperiods, cursor_position, - i18nc("Setting the value of a period, as in 'third week' (%1=period, %2=value)", "%2 %1")); + i18nc("Setting the value of a period, as in 'third week' ($1=period, $2=value)", "$2 $1")); pass_dateperiods.setKind(PassDatePeriods::VariablePeriod, PassDatePeriods::Offset, 1); runPass(pass_dateperiods, cursor_position, - i18nc("Adding 1 to a period of time", "next %1"), + i18nc("Adding 1 to a period of time", "next $1"), ki18n("Next week, month, day, ...")); pass_dateperiods.setKind(PassDatePeriods::VariablePeriod, PassDatePeriods::Offset, -1); runPass(pass_dateperiods, cursor_position, - i18nc("Removing 1 to a period of time", "last %1"), + i18nc("Removing 1 to a period of time", "last $1"), ki18n("Previous week, month, day, ...")); // Setting values of date-time periods (14:30, June 6, etc) pass_datevalues.setPm(true); runPass(pass_datevalues, cursor_position, - i18nc("An hour (%5) and an optional minute (%6), PM", "at %5 :|\\. %6 pm;at %5 h pm;at %5 pm;%5 : %6 pm;%5 h pm;%5 pm"), + i18nc("An hour ($5) and an optional minute ($6), PM", "at $5 :|\\. $6 pm;at $5 h pm;at $5 pm;$5 : $6 pm;$5 h pm;$5 pm"), ki18n("A time after midday")); pass_datevalues.setPm(false); runPass(pass_datevalues, cursor_position, - i18nc("An hour (%5) and an optional minute (%6), AM", "at %5 :|\\. %6 am;at %5 \\. %6;at %5 h am;at %5 am;at %5;%5 :|\\. %6 am;%5 : %6 : %7;%5 : %6;%5 h am;%5 h;%5 am"), + i18nc("An hour ($5) and an optional minute ($6), AM", "at $5 :|\\. $6 am;at $5 \\. $6;at $5 h am;at $5 am;at $5;$5 :|\\. $6 am;$5 : $6 : $7;$5 : $6;$5 h am;$5 h;$5 am"), ki18n("A time")); runPass(pass_datevalues, cursor_position, i18nc( - "A year (%1), month (%2), day (%3), day of week (%4), hour (%5), " - "minute (%6), second (%7), in every combination supported by your language", - "%3 of %2 %1;%3 st|nd|rd|th %2 %1;%3 st|nd|rd|th of %2 %1;" - "%3 of %2;%3 st|nd|rd|th %2;%3 st|nd|rd|th of %2;%2 %3 st|nd|rd|th;%2 %3;%2 %1;" - "%1 - %2 - %3;%1 - %2;%3 / %2 / %1;%3 / %2;" - "in %2 %1; in %1;, %1" + "A year ($1), month ($2), day ($3), day of week ($4), hour ($5), " + "minute ($6), second ($7), in every combination supported by your language", + "$3 of $2 $1;$3 st|nd|rd|th $2 $1;$3 st|nd|rd|th of $2 $1;" + "$3 of $2;$3 st|nd|rd|th $2;$3 st|nd|rd|th of $2;$2 $3 st|nd|rd|th;$2 $3;$2 $1;" + "$1 - $2 - $3;$1 - $2;$3 / $2 / $1;$3 / $2;" + "in $2 $1; in $1;, $1" )); // Fold date-time properties into real DateTime values @@ -343,99 +343,99 @@ // Decimal values runPass(pass_decimalvalues, cursor_position, - i18nc("Decimal values with an integer (%1) and decimal (%2) part", "%1 \\. %2"), + i18nc("Decimal values with an integer ($1) and decimal ($2) part", "$1 \\. $2"), ki18n("A decimal value") ); // Comparators pass_comparators.setComparator(Term::Contains); runPass(pass_comparators, cursor_position, - i18nc("Equality", "contains|containing %1"), + i18nc("Equality", "contains|containing $1"), ki18n("Containing")); pass_comparators.setComparator(Term::Greater); runPass(pass_comparators, cursor_position, - i18nc("Strictly greater", "greater|bigger|more than %1;at least %1;> %1"), + i18nc("Strictly greater", "greater|bigger|more than $1;at least $1;> $1"), ki18n("Greater than")); runPass(pass_comparators, cursor_position, - i18nc("After in time", "after|since %1"), + i18nc("After in time", "after|since $1"), ki18n("After"), CompletionProposal::DateTime); pass_comparators.setComparator(Term::Less); runPass(pass_comparators, cursor_position, - i18nc("Strictly smaller", "smaller|less|lesser than %1;at most %1;< %1"), + i18nc("Strictly smaller", "smaller|less|lesser than $1;at most $1;< $1"), ki18n("Smaller than")); runPass(pass_comparators, cursor_position, - i18nc("Before in time", "before|until %1"), + i18nc("Before in time", "before|until $1"), ki18n("Before"), CompletionProposal::DateTime); pass_comparators.setComparator(Term::Equal); runPass(pass_comparators, cursor_position, - i18nc("Equality", "equal|equals|= %1;equal to %1"), + i18nc("Equality", "equal|equals|= $1;equal to $1"), ki18n("Equal to")); // Properties associated with any Baloo resource pass_properties.setProperty(QLatin1String("rating"), PassProperties::Integer); runPass(pass_properties, cursor_position, - i18nc("Numeric rating of a resource", "rated as %1;rated %1;score is %1;score|scored %1;having %1 stars|star"), + i18nc("Numeric rating of a resource", "rated as $1;rated $1;score is $1;score|scored $1;having $1 stars|star"), ki18n("Rating (0 to 10)"), CompletionProposal::NoType); pass_properties.setProperty(QLatin1String("usercomment"), PassProperties::String); runPass(pass_properties, cursor_position, - i18nc("Comment of a resource", "described as %1;description|comment is %1;described|description|comment %1"), + i18nc("Comment of a resource", "described as $1;description|comment is $1;described|description|comment $1"), ki18n("Comment or description"), CompletionProposal::NoType); // Email-related properties pass_properties.setProperty(QLatin1String("from"), PassProperties::EmailAddress); runPass(pass_properties, cursor_position, - i18nc("Sender of an e-mail", "sent by %1;from %1;sender is %1;sender %1"), + i18nc("Sender of an e-mail", "sent by $1;from $1;sender is $1;sender $1"), ki18n("Sender of an e-mail"), CompletionProposal::Email); pass_properties.setProperty(QLatin1String("subject"), PassProperties::String); runPass(pass_properties, cursor_position, - i18nc("Subject of an e-mail or note", "title|subject is %1;title|subject %1;titled %1"), + i18nc("Subject of an e-mail or note", "title|subject is $1;title|subject $1;titled $1"), ki18n("Subject")); pass_properties.setProperty(QLatin1String("to"), PassProperties::EmailAddress); runPass(pass_properties, cursor_position, - i18nc("Recipient of an e-mail", "sent to %1;to %1;recipient is %1;recipient %1"), + i18nc("Recipient of an e-mail", "sent to $1;to $1;recipient is $1;recipient $1"), ki18n("Recipient of an e-mail"), CompletionProposal::Email); pass_properties.setProperty(QLatin1String("_k_datesent"), PassProperties::DateTime); runPass(pass_properties, cursor_position, - i18nc("Sending date-time", "sent at|on %1;sent %1"), + i18nc("Sending date-time", "sent at|on $1;sent $1"), ki18n("Date of sending"), CompletionProposal::DateTime); pass_properties.setProperty(QLatin1String("_k_datereceived"), PassProperties::DateTime); runPass(pass_properties, cursor_position, - i18nc("Receiving date-time", "received at|on %1;received %1;reception is %1"), + i18nc("Receiving date-time", "received at|on $1;received $1;reception is $1"), ki18n("Date of reception"), CompletionProposal::DateTime); // File-related properties pass_properties.setProperty(QLatin1String("author"), PassProperties::Contact); runPass(pass_properties, cursor_position, - i18nc("Author of a document", "written|created|composed by %1;author is %1;by %1"), + i18nc("Author of a document", "written|created|composed by $1;author is $1;by $1"), ki18n("Author"), CompletionProposal::Contact); pass_properties.setProperty(QLatin1String("size"), PassProperties::IntegerOrDouble); runPass(pass_properties, cursor_position, - i18nc("Size of a file", "size is %1;size %1;being %1 large;%1 large"), + i18nc("Size of a file", "size is $1;size $1;being $1 large;$1 large"), ki18n("Size")); pass_properties.setProperty(QLatin1String("filename"), PassProperties::String); runPass(pass_properties, cursor_position, - i18nc("Name of a file or contact", "name is %1;name %1;named %1"), + i18nc("Name of a file or contact", "name is $1;name $1;named $1"), ki18n("Name")); pass_properties.setProperty(QLatin1String("_k_datecreated"), PassProperties::DateTime); runPass(pass_properties, cursor_position, - i18nc("Date of creation", "created|dated at|on|in|of %1;created|dated %1;creation date|time|datetime is %1"), + i18nc("Date of creation", "created|dated at|on|in|of $1;created|dated $1;creation date|time|datetime is $1"), ki18n("Date of creation"), CompletionProposal::DateTime); pass_properties.setProperty(QLatin1String("_k_datemodified"), PassProperties::DateTime); runPass(pass_properties, cursor_position, - i18nc("Date of last modification", "modified|edited at|on %1;modified|edited %1;modification|edition date|time|datetime is %1"), + i18nc("Date of last modification", "modified|edited at|on $1;modified|edited $1;modification|edition date|time|datetime is $1"), ki18n("Date of last modification"), CompletionProposal::DateTime); // Tags pass_properties.setProperty(QLatin1String("tags"), PassProperties::Tag); runPass(pass_properties, cursor_position, - i18nc("A document is associated with a tag", "tagged as %1;has tag %1;tag is %1;# %1"), + i18nc("A document is associated with a tag", "tagged as $1;has tag $1;tag is $1;# $1"), ki18n("Tag name"), CompletionProposal::Tag); #if 0 // Different kinds of properties that need subqueries pass_subqueries.setProperty(QLatin1String("relatedto")); runPass(pass_subqueries, cursor_position, - i18nc("Related to a subquery", "related to %% ,"), + i18nc("Related to a subquery", "related to $$ ,"), ki18n("Match items related to others")); #endif } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/baloo-4.13.80/src/runner/plasma-runner-baloosearch.desktop new/baloo-4.14.0/src/runner/plasma-runner-baloosearch.desktop --- old/baloo-4.13.80/src/runner/plasma-runner-baloosearch.desktop 2014-07-08 07:36:46.000000000 +0200 +++ new/baloo-4.14.0/src/runner/plasma-runner-baloosearch.desktop 2014-08-09 17:45:30.000000000 +0200 @@ -1,5 +1,6 @@ [Desktop Entry] Name=Desktop Search +Name[ar]=البحث في سطح المكتب Name[bs]=Pretraga površi Name[ca]=Cerca a l'escriptori Name[ca@valencia]=Cerca a l'escriptori @@ -9,6 +10,7 @@ Name[el]=Αναζήτηση στην επιφάνεια εργασίας Name[en_GB]=Desktop Search Name[es]=Búsqueda de escritorio +Name[et]=Töölauaotsing Name[fi]=Työpöytähaku Name[fr]=Recherche sur le bureau Name[gl]=Busca no escritorio @@ -46,6 +48,7 @@ Comment[el]=Αναζήτηση για αρχεία, μηνύματα ηλ. ταχυδρομείου και επαφές Comment[en_GB]=Runner which searches through files, emails and contacts Comment[es]=Lanzador con búsquedas en archivos, correo electrónico y contactos +Comment[et]=Käivitaja, mis otsib failides, e-kirjades ja kontaktides Comment[fi]=Suoritusohjelma, joka etsii tiedostoista, sähköposteista ja yhteystiedoista Comment[fr]=Lanceur de recherche dans les fichiers, courriels et contacts Comment[gl]=Un executor que busca nos ficheiros, correos e contactos diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/baloo-4.13.80/src/xapian/xapiansearchstore.h new/baloo-4.14.0/src/xapian/xapiansearchstore.h --- old/baloo-4.13.80/src/xapian/xapiansearchstore.h 2014-07-08 07:36:46.000000000 +0200 +++ new/baloo-4.14.0/src/xapian/xapiansearchstore.h 2014-08-09 17:45:30.000000000 +0200 @@ -100,6 +100,9 @@ Xapian::Database* xapianDb(); +protected: + QMutex m_mutex; + private: Xapian::Query toXapianQuery(const Term& term); Xapian::Query toXapianQuery(Xapian::Query::op op, const QList<Term>& terms); @@ -118,7 +121,6 @@ int m_nextId; QString m_dbPath; - QMutex m_mutex; Xapian::Database* m_db; }; -- To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org For additional commands, e-mail: opensuse-commit+h...@opensuse.org