Hello community, here is the log from the commit of package kactivities-stats for openSUSE:Factory checked in at 2019-08-19 21:00:57 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/kactivities-stats (Old) and /work/SRC/openSUSE:Factory/.kactivities-stats.new.22127 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kactivities-stats" Mon Aug 19 21:00:57 2019 rev:41 rq:722441 version:5.61.0 Changes: -------- --- /work/SRC/openSUSE:Factory/kactivities-stats/kactivities-stats.changes 2019-07-26 12:09:41.066856710 +0200 +++ /work/SRC/openSUSE:Factory/.kactivities-stats.new.22127/kactivities-stats.changes 2019-08-19 21:03:24.632911017 +0200 @@ -1,0 +2,17 @@ +Wed Aug 7 17:51:05 UTC 2019 - Christophe Giboudeaux <christo...@krop.fr> + +- Update to 5.61.0 + * New feature release + * For more details please see: + * https://www.kde.org/announcements/kde-frameworks-5.61.0.php +- Changes since 5.60.0: + * Add Date term to KActivities Stats to filter on resource event date + * Fix some compiler warnings + +------------------------------------------------------------------- +Fri Jul 19 11:38:02 UTC 2019 - Wolfgang Bauer <wba...@tmo.at> + +- Don't lower minimum Qt version anymore, it requires 5.11 now +- Drop conditionals for no longer supported openSUSE versions + +------------------------------------------------------------------- Old: ---- kactivities-stats-5.60.0.tar.xz New: ---- frameworks.keyring kactivities-stats-5.61.0.tar.xz kactivities-stats-5.61.0.tar.xz.sig ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ kactivities-stats.spec ++++++ --- /var/tmp/diff_new_pack.cATOa8/_old 2019-08-19 21:03:26.244910756 +0200 +++ /var/tmp/diff_new_pack.cATOa8/_new 2019-08-19 21:03:26.252910755 +0200 @@ -17,37 +17,37 @@ %define lname libKF5ActivitiesStats1 -%define _tar_path 5.60 +%define _tar_path 5.61 # Full KF5 version (e.g. 5.33.0) %{!?_kf5_version: %global _kf5_version %{version}} # Last major and minor KF5 version (e.g. 5.33) %{!?_kf5_bugfix_version: %define _kf5_bugfix_version %(echo %{_kf5_version} | awk -F. '{print $1"."$2}')} +# Only needed for the package signature condition +%bcond_without lang Name: kactivities-stats -Version: 5.60.0 +Version: 5.61.0 Release: 0 Summary: KDE Plasma Activities support License: LGPL-2.0-or-later Group: System/Libraries URL: https://www.kde.org -Source: http://download.kde.org/stable/frameworks/%{_tar_path}/kactivities-stats-%{version}.tar.xz -Source1: baselibs.conf +Source: https://download.kde.org/stable/frameworks/%{_tar_path}/kactivities-stats-%{version}.tar.xz +%if %{with lang} +Source1: https://download.kde.org/stable/frameworks/%{_tar_path}/kactivities-stats-%{version}.tar.xz.sig +Source2: frameworks.keyring +%endif +Source99: baselibs.conf BuildRequires: cmake >= 3.0 BuildRequires: extra-cmake-modules >= %{_kf5_bugfix_version} BuildRequires: fdupes BuildRequires: kf5-filesystem +BuildRequires: libboost_headers-devel BuildRequires: xz BuildRequires: cmake(KF5Activities) >= %{_kf5_bugfix_version} BuildRequires: cmake(KF5Config) >= %{_kf5_bugfix_version} BuildRequires: cmake(Qt5Core) >= 5.3.0 BuildRequires: cmake(Qt5DBus) >= 5.3.0 BuildRequires: cmake(Qt5Sql) >= 5.3.0 -%if 0%{?suse_version} > 1325 -BuildRequires: libboost_headers-devel -%else -BuildRequires: boost-devel -# It does not build with the default compiler (GCC 4.8) on Leap 42.x -BuildRequires: gcc7-c++ -%endif %description Kactivities provides an API for using and interacting with the Plasma Activities Manager. @@ -72,16 +72,8 @@ %prep %setup -q -n kactivities-stats-%{version} -%if 0%{?suse_version} == 1500 -sed -i -e "s/^set *(REQUIRED_QT_VERSION 5.10.0)$/set(REQUIRED_QT_VERSION 5.9.0)/" CMakeLists.txt -%endif %build - %if 0%{?suse_version} <= 1325 - # It does not build with the default compiler (GCC 4.8) on Leap 42.x - export CC=gcc-7 - export CXX=g++-7 - %endif %cmake_kf5 -d build %make_jobs ++++++ kactivities-stats-5.60.0.tar.xz -> kactivities-stats-5.61.0.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kactivities-stats-5.60.0/CMakeLists.txt new/kactivities-stats-5.61.0/CMakeLists.txt --- old/kactivities-stats-5.60.0/CMakeLists.txt 2019-07-06 15:13:20.000000000 +0200 +++ new/kactivities-stats-5.61.0/CMakeLists.txt 2019-08-03 21:30:45.000000000 +0200 @@ -2,8 +2,8 @@ cmake_minimum_required(VERSION 3.5) -set(KF5_VERSION "5.60.0") # handled by release scripts -set(KF5_DEP_VERSION "5.60.0") # handled by release scripts +set(KF5_VERSION "5.61.0") # handled by release scripts +set(KF5_DEP_VERSION "5.61.0") # handled by release scripts project (KActivitiesStats VERSION ${KF5_VERSION}) set (REQUIRED_QT_VERSION 5.11.0) @@ -20,11 +20,11 @@ # Extra CMake stuff include (FeatureSummary) -find_package (ECM 5.60.0 NO_MODULE) +find_package (ECM 5.61.0 NO_MODULE) set_package_properties (ECM PROPERTIES TYPE REQUIRED DESCRIPTION "Extra CMake Modules." URL "https://projects.kde.org/projects/kdesupport/extra-cmake-modules") feature_summary (WHAT REQUIRED_PACKAGES_NOT_FOUND FATAL_ON_MISSING_REQUIRED_PACKAGES) -set (CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${ECM_MODULE_PATH} ${ECM_KDE_MODULE_DIR}) +set (CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${ECM_MODULE_PATH}) include (KDEInstallDirs) include (KDECMakeSettings) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kactivities-stats-5.60.0/autotests/QueryTest.cpp new/kactivities-stats-5.61.0/autotests/QueryTest.cpp --- old/kactivities-stats-5.60.0/autotests/QueryTest.cpp 2019-07-06 15:13:20.000000000 +0200 +++ new/kactivities-stats-5.61.0/autotests/QueryTest.cpp 2019-08-03 21:30:45.000000000 +0200 @@ -297,6 +297,24 @@ } } +void QueryTest::testNormalSyntaxDateDefinition() +{ + TEST_CHUNK(QStringLiteral("Testing the Date definition")) + { + auto query = Date::today(); + QCOMPARE(query.value, QDate::currentDate()); + } + { + auto query = Date::yesterday(); + QDate date = QDate::currentDate(); + QCOMPARE(query.value, date.addDays(-1)); + } + { + auto query = Date(QDate::fromString(QStringLiteral("2019-07-25"))); + QCOMPARE(query.value, QDate::fromString(QStringLiteral("2019-07-25"))); + } +} + void QueryTest::initTestCase() { // CHECK_CONDITION(isActivityManagerRunning, FailIfTrue); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kactivities-stats-5.60.0/autotests/QueryTest.h new/kactivities-stats-5.61.0/autotests/QueryTest.h --- old/kactivities-stats-5.60.0/autotests/QueryTest.h 2019-07-06 15:13:20.000000000 +0200 +++ new/kactivities-stats-5.61.0/autotests/QueryTest.h 2019-08-03 21:30:45.000000000 +0200 @@ -44,6 +44,7 @@ void testNormalSyntaxTypeManipulation(); void testNormalSyntaxActivityManipulation(); void testNormalSyntaxOrderingManipulation(); + void testNormalSyntaxDateDefinition(); void testFancySyntaxBasic(); void testFancySyntaxAgentDefinition(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kactivities-stats-5.60.0/autotests/ResultSetTest.cpp new/kactivities-stats-5.61.0/autotests/ResultSetTest.cpp --- old/kactivities-stats-5.60.0/autotests/ResultSetTest.cpp 2019-07-06 15:13:20.000000000 +0200 +++ new/kactivities-stats-5.61.0/autotests/ResultSetTest.cpp 2019-08-03 21:30:45.000000000 +0200 @@ -146,6 +146,18 @@ QCOMPARE(result.at(1).resource(), QStringLiteral("/path/high2_act2_kate")); QCOMPARE(result.at(2).resource(), QStringLiteral("/path/high3_act1_kate")); } + + TEST_CHUNK(QStringLiteral("Getting the used resources filter by Date")) + { + ResultSet result(UsedResources + | HighScoredFirst + | Agent::any() + | Activity::any() + | Date::fromString(QStringLiteral("2015-01-15")) + ); + + QCOMPARE(result.at(0).resource(), QStringLiteral("/path/high1_act1_gvim")); + } } void ResultSetTest::initTestCase() @@ -192,9 +204,18 @@ " , ('activity1' , 'gvim' , '/path/low3_act1_gvim' , '0' , '6' , '-1' , '1421434704')" " , ('activity1' , 'kate' , '/path/low2_act1_kate' , '0' , '3' , '-1' , '1421433266')" " , ('activity1' , 'kate' , '/path/low1_act1_kate' , '0' , '2' , '-1' , '1421433254')") - ); + database->execQuery( + QStringLiteral("INSERT INTO ResourceEvent (usedActivity, initiatingAgent, targettedResource, start, end ) VALUES" + "('activity1' , 'gvim' , '/path/high1_act1_gvim' , '1421345799', '1421345799')") + ); + + database->execQuery( + QStringLiteral("INSERT INTO ResourceInfo (targettedResource, title, mimetype, autoTitle, autoMimetype) VALUES" + "('/path/high1_act1_gvim', 'high1_act1_gvim', 'text/plain', 1, 1 )") + ); + // Renaming the activity1 to the current acitivty KActivities::Consumer kamd; @@ -207,6 +228,11 @@ + kamd.currentActivity() + QStringLiteral("' WHERE usedActivity = 'activity1'")); + database->execQuery( + QStringLiteral("UPDATE ResourceEvent SET usedActivity = '") + + kamd.currentActivity() + + QStringLiteral("' WHERE usedActivity = 'activity1'")); + database->execQuery( QStringLiteral("INSERT INTO ResourceLink (usedActivity, initiatingAgent, targettedResource) VALUES " diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kactivities-stats-5.60.0/src/query.cpp new/kactivities-stats-5.61.0/src/query.cpp --- old/kactivities-stats-5.60.0/src/query.cpp 2019-07-06 15:13:20.000000000 +0200 +++ new/kactivities-stats-5.61.0/src/query.cpp 2019-08-03 21:30:45.000000000 +0200 @@ -20,6 +20,7 @@ */ #include "query.h" +#include <QDate> #include <QDebug> namespace KActivities { @@ -71,6 +72,7 @@ QStringList activities; QStringList urlFilters; Terms::Order ordering; + QDate date; int limit; int offset; }; @@ -111,7 +113,8 @@ agents() == right.agents() && activities() == right.activities() && selection() == right.selection() && - urlFilters() == right.urlFilters(); + urlFilters() == right.urlFilters() && + date() == right.date(); } bool Query::operator!= (const Query &right) const @@ -163,6 +166,11 @@ d->offset = offset; } +void Query::setDate(QDate date) +{ + d->date = date; +} + Terms::Order Query::ordering() const { return d->ordering; @@ -184,6 +192,11 @@ return d->offset; } +QDate Query::date() const +{ + return d->date; +} + } // namespace Stats } // namespace KActivities @@ -200,6 +213,7 @@ << ", " << Agent(query.agents()) << ", " << Activity(query.activities()) << ", " << Url(query.urlFilters()) + << ", " << Date(query.date()) << ", " << query.ordering() << ", Limit: " << query.limit() << " }"; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kactivities-stats-5.60.0/src/query.h new/kactivities-stats-5.61.0/src/query.h --- old/kactivities-stats-5.60.0/src/query.h 2019-07-06 15:13:20.000000000 +0200 +++ new/kactivities-stats-5.61.0/src/query.h 2019-08-03 21:30:45.000000000 +0200 @@ -89,6 +89,7 @@ Terms::Order ordering() const; int offset() const; int limit() const; + QDate date() const; void setSelection(Terms::Select selection); @@ -99,6 +100,7 @@ void setOrdering(Terms::Order ordering); void setOffset(int offset); void setLimit(int limit); + void setDate(QDate date); void clearTypes(); void clearAgents(); @@ -151,6 +153,11 @@ setOffset(offset.value); } + inline void addTerm(Terms::Date date) + { + setDate(date.value); + } + public: template <typename Term> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kactivities-stats-5.60.0/src/resultset.cpp new/kactivities-stats-5.61.0/src/resultset.cpp --- old/kactivities-stats-5.60.0/src/resultset.cpp 2019-07-06 15:13:20.000000000 +0200 +++ new/kactivities-stats-5.61.0/src/resultset.cpp 2019-08-03 21:30:45.000000000 +0200 @@ -179,6 +179,21 @@ return QStringLiteral("mimetype LIKE '") + Common::starPatternToLike(mimetype) + QStringLiteral("' ESCAPE '\\'"); } + QString dateClause(QDate date) const { + return QStringLiteral("DATE(re.start, 'unixepoch') = '") + + date.toString(Qt::ISODate) + QStringLiteral("' "); + } + + QString resourceEventJoinClause() const { + return QStringLiteral(R"sql( + LEFT JOIN + ResourceEvent re + ON from_table.targettedResource = re.targettedResource + AND from_table.usedActivity = re.usedActivity + AND from_table.initiatingAgent = re.initiatingAgent + )sql"); + } + /** * Transforms the input list's elements with the f member method, * and returns the resulting list @@ -226,7 +241,6 @@ : QString() ); - // WHERE clause for filtering on agents QStringList agentsFilter = transformedList( queryDefinition.agents(), &ResultSetPrivate::agentClause); @@ -243,6 +257,14 @@ QStringList mimetypeFilter = transformedList( queryDefinition.types(), &ResultSetPrivate::mimetypeClause); + QString dateColumn = QStringLiteral("1"), resourceEventJoin; + // WHERE clause for access date filtering and ResourceEvent table Join + if (!queryDefinition.date().isNull()) { + dateColumn = dateClause(queryDefinition.date()); + + resourceEventJoin = resourceEventJoinClause(); + } + auto queryString = _query; queryString.replace(QStringLiteral("ORDER_BY_CLAUSE"), QStringLiteral("ORDER BY $orderingColumn resource ASC")) @@ -255,6 +277,8 @@ .replace(QLatin1String("$activitiesFilter"), activitiesFilter.join(QStringLiteral(" OR "))) .replace(QLatin1String("$urlFilter"), urlFilter.join(QStringLiteral(" OR "))) .replace(QLatin1String("$mimetypeFilter"), mimetypeFilter.join(QStringLiteral(" OR "))) + .replace(QLatin1String("$resourceEventJoin"), resourceEventJoin) + .replace(QLatin1String("$dateFilter"), dateColumn) ); } @@ -266,32 +290,35 @@ static const QString queryString = QStringLiteral(R"sql( SELECT - rl.targettedResource as resource - , SUM(rsc.cachedScore) as score - , MIN(rsc.firstUpdate) as firstUpdate - , MAX(rsc.lastUpdate) as lastUpdate - , rl.usedActivity as activity - , rl.initiatingAgent as agent - , COALESCE(ri.title, rl.targettedResource) as title + from_table.targettedResource as resource + , SUM(rsc.cachedScore) as score + , MIN(rsc.firstUpdate) as firstUpdate + , MAX(rsc.lastUpdate) as lastUpdate + , from_table.usedActivity as activity + , from_table.initiatingAgent as agent + , COALESCE(ri.title, from_table.targettedResource) as title , ri.mimetype as mimetype , 2 as linkStatus FROM - ResourceLink rl + ResourceLink from_table LEFT JOIN ResourceScoreCache rsc - ON rl.targettedResource = rsc.targettedResource - AND rl.usedActivity = rsc.usedActivity - AND rl.initiatingAgent = rsc.initiatingAgent + ON from_table.targettedResource = rsc.targettedResource + AND from_table.usedActivity = rsc.usedActivity + AND from_table.initiatingAgent = rsc.initiatingAgent LEFT JOIN ResourceInfo ri - ON rl.targettedResource = ri.targettedResource + ON from_table.targettedResource = ri.targettedResource + + $resourceEventJoin WHERE ($agentsFilter) AND ($activitiesFilter) AND ($urlFilter) AND ($mimetypeFilter) + AND ($dateFilter) GROUP BY resource, title @@ -310,27 +337,30 @@ static const QString queryString = QStringLiteral(R"sql( SELECT - rsc.targettedResource as resource - , SUM(rsc.cachedScore) as score - , MIN(rsc.firstUpdate) as firstUpdate - , MAX(rsc.lastUpdate) as lastUpdate - , rsc.usedActivity as activity - , rsc.initiatingAgent as agent - , COALESCE(ri.title, rsc.targettedResource) as title + from_table.targettedResource as resource + , SUM(from_table.cachedScore) as score + , MIN(from_table.firstUpdate) as firstUpdate + , MAX(from_table.lastUpdate) as lastUpdate + , from_table.usedActivity as activity + , from_table.initiatingAgent as agent + , COALESCE(ri.title, from_table.targettedResource) as title , ri.mimetype as mimetype , 1 as linkStatus FROM - ResourceScoreCache rsc + ResourceScoreCache from_table LEFT JOIN ResourceInfo ri - ON rsc.targettedResource = ri.targettedResource + ON from_table.targettedResource = ri.targettedResource + + $resourceEventJoin WHERE ($agentsFilter) AND ($activitiesFilter) AND ($urlFilter) AND ($mimetypeFilter) + AND ($dateFilter) GROUP BY resource, title @@ -351,47 +381,53 @@ QStringLiteral(R"sql( WITH LinkedResourcesResults AS ( - SELECT rl.targettedResource as resource - , rsc.cachedScore as score - , rsc.firstUpdate as firstUpdate - , rsc.lastUpdate as lastUpdate - , rl.usedActivity as activity - , rl.initiatingAgent as agent + SELECT from_table.targettedResource as resource + , rsc.cachedScore as score + , rsc.firstUpdate as firstUpdate + , rsc.lastUpdate as lastUpdate + , from_table.usedActivity as activity + , from_table.initiatingAgent as agent , 2 as linkStatus FROM - ResourceLink rl + ResourceLink from_table LEFT JOIN ResourceScoreCache rsc - ON rl.targettedResource = rsc.targettedResource - AND rl.usedActivity = rsc.usedActivity + ON from_table.targettedResource = rsc.targettedResource + AND from_table.usedActivity = rsc.usedActivity AND rl.initiatingAgent = rsc.initiatingAgent + $resourceEventJoin + WHERE ($agentsFilter) AND ($activitiesFilter) AND ($urlFilter) AND ($mimetypeFilter) + AND ($dateFilter) ), UsedResourcesResults AS ( - SELECT rsc.targettedResource as resource - , rsc.cachedScore as score - , rsc.firstUpdate as firstUpdate - , rsc.lastUpdate as lastUpdate - , rsc.usedActivity as activity - , rsc.initiatingAgent as agent + SELECT from_table.targettedResource as resource + , from_table.cachedScore as score + , from_table.firstUpdate as firstUpdate + , from_table.lastUpdate as lastUpdate + , from_table.usedActivity as activity + , from_table.initiatingAgent as agent , 0 as linkStatus FROM - ResourceScoreCache rsc + ResourceScoreCache from_table + + $resourceEventJoin WHERE ($agentsFilter) AND ($activitiesFilter) AND ($urlFilter) AND ($mimetypeFilter) + AND ($dateFilter) ), CollectedResults AS ( @@ -442,12 +478,11 @@ result.setTitle(query.value(QStringLiteral("title")).toString()); result.setMimetype(query.value(QStringLiteral("mimetype")).toString()); result.setScore(query.value(QStringLiteral("score")).toDouble()); - result.setLastUpdate(query.value(QStringLiteral("lastUpdate")).toInt()); - result.setFirstUpdate(query.value(QStringLiteral("firstUpdate")).toInt()); - + result.setLastUpdate(query.value(QStringLiteral("lastUpdate")).toUInt()); + result.setFirstUpdate(query.value(QStringLiteral("firstUpdate")).toUInt()); result.setLinkStatus( - (ResultSet::Result::LinkStatus)query.value(QStringLiteral("linkStatus")).toInt()); + static_cast<ResultSet::Result::LinkStatus>(query.value(QStringLiteral("linkStatus")).toUInt())); auto linkedActivitiesQuery = database->createQuery(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kactivities-stats-5.60.0/src/terms.cpp new/kactivities-stats-5.61.0/src/terms.cpp --- old/kactivities-stats-5.60.0/src/terms.cpp 2019-07-06 15:13:20.000000000 +0200 +++ new/kactivities-stats-5.61.0/src/terms.cpp 2019-08-03 21:30:45.000000000 +0200 @@ -76,6 +76,28 @@ { } +Terms::Date::Date(QDate value) + : value(value) +{ +} + +Terms::Date Terms::Date::today() +{ + return Date(QDate::currentDate()); +} + +Terms::Date Terms::Date::yesterday() +{ + auto date = QDate::currentDate(); + return Date(date.addDays(-1)); +} + +Terms::Date Terms::Date::fromString(QString string) +{ + auto date = QDate::fromString(string, Qt::ISODate); + return Date(date); +} + Terms::Url Terms::Url::startsWith(const QString &prefix) { return Url(prefix + QStringLiteral("*")); @@ -115,6 +137,7 @@ QDEBUG_TERM_OUT(Limit, _.value) QDEBUG_TERM_OUT(Offset, _.value) +QDEBUG_TERM_OUT(Date, _.value) #undef QDEBUG_TERM_OUT diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kactivities-stats-5.60.0/src/terms.h new/kactivities-stats-5.61.0/src/terms.h --- old/kactivities-stats-5.60.0/src/terms.h 2019-07-06 15:13:20.000000000 +0200 +++ new/kactivities-stats-5.61.0/src/terms.h 2019-08-03 21:30:45.000000000 +0200 @@ -31,6 +31,7 @@ #include <QString> #include <QStringList> +#include <QDate> #include "kactivitiesstats_export.h" @@ -202,6 +203,18 @@ const QStringList values; }; + + /** + * On which start access date do you want to filter ? + */ + struct KACTIVITIESSTATS_EXPORT Date { + Date(QDate value); + static Date today(); + static Date yesterday(); + static Date fromString(QString); + QDate value; + }; + } // namespace Terms } // namespace Stats @@ -231,5 +244,8 @@ KACTIVITIESSTATS_EXPORT QDebug operator<<(QDebug dbg, const KActivities::Stats::Terms::Offset &offset); +KACTIVITIESSTATS_EXPORT +QDebug operator<<(QDebug dbg, const KActivities::Stats::Terms::Date &date); + #endif // KACTIVITIES_STATS_TERMS_H diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kactivities-stats-5.60.0/tests/model/window.cpp new/kactivities-stats-5.61.0/tests/model/window.cpp --- old/kactivities-stats-5.60.0/tests/model/window.cpp 2019-07-06 15:13:20.000000000 +0200 +++ new/kactivities-stats-5.61.0/tests/model/window.cpp 2019-08-03 21:30:45.000000000 +0200 @@ -323,6 +323,8 @@ { qDebug() << "Updating the results"; + QString textDate = ui->textDate->text(); + setQuery( // What should we get ( @@ -352,6 +354,13 @@ // And URL filters Url(ui->textUrl->text().split(QLatin1Char(','), QString::SkipEmptyParts)) | + // And date filter + ( + textDate == QStringLiteral("today") ? Date::today() : + textDate == QStringLiteral("yesterday") ? Date::yesterday() : + Date(QDate::fromString(textDate, Qt::ISODate)) + ) | + // And how many items Limit(ui->spinLimitCount->value()) ); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kactivities-stats-5.60.0/tests/model/window.ui new/kactivities-stats-5.61.0/tests/model/window.ui --- old/kactivities-stats-5.60.0/tests/model/window.ui 2019-07-06 15:13:20.000000000 +0200 +++ new/kactivities-stats-5.61.0/tests/model/window.ui 2019-08-03 21:30:45.000000000 +0200 @@ -259,30 +259,40 @@ </property> </widget> </item> + <item row="3" column="0"> + <widget class="QLabel" name="labelUrl"> + <property name="text"> + <string>Url</string> + </property> + </widget> + </item> + <item row="3" column="1"> + <widget class="QLineEdit" name="textUrl"/> + </item> <item row="4" column="0"> + <widget class="QLabel" name="labelDate"> + <property name="text"> + <string>Date</string> + </property> + </widget> + </item> + <item row="4" column="1"> + <widget class="QLineEdit" name="textDate"/> + </item> + <item row="5" column="0"> <widget class="QLabel" name="labelLimitCount"> <property name="text"> <string>Count</string> </property> </widget> </item> - <item row="4" column="1"> + <item row="5" column="1"> <widget class="QSpinBox" name="spinLimitCount"> <property name="value"> <number>10</number> </property> </widget> </item> - <item row="3" column="0"> - <widget class="QLabel" name="labelUrl"> - <property name="text"> - <string>Url</string> - </property> - </widget> - </item> - <item row="3" column="1"> - <widget class="QLineEdit" name="textUrl"/> - </item> </layout> </item> <item>