Changeset View
Changeset View
Standalone View
Standalone View
src/terms.cpp
Show All 14 Lines | |||||
15 | * Lesser General Public License for more details. | 15 | * Lesser General Public License for more details. | ||
16 | * | 16 | * | ||
17 | * You should have received a copy of the GNU Lesser General Public | 17 | * You should have received a copy of the GNU Lesser General Public | ||
18 | * License along with this library. | 18 | * License along with this library. | ||
19 | * If not, see <http://www.gnu.org/licenses/>. | 19 | * If not, see <http://www.gnu.org/licenses/>. | ||
20 | */ | 20 | */ | ||
21 | 21 | | |||
22 | #include "terms.h" | 22 | #include "terms.h" | ||
23 | #include "common/specialvalues.h" | ||||
24 | | ||||
23 | #include <QDebug> | 25 | #include <QDebug> | ||
24 | 26 | | |||
25 | namespace KActivities { | 27 | namespace KActivities { | ||
26 | namespace Stats { | 28 | namespace Stats { | ||
27 | 29 | | |||
28 | // Term classes | 30 | // Term classes | ||
29 | #define IMPLEMENT_TERM_CONSTRUCTORS(TYPE) \ | 31 | #define IMPLEMENT_TERM_CONSTRUCTORS(TYPE) \ | ||
30 | Terms::TYPE::TYPE(QStringList values) \ | 32 | Terms::TYPE::TYPE(QStringList values) \ | ||
31 | : values(values) \ | 33 | : values(values) \ | ||
32 | {} \ | 34 | {} \ | ||
33 | \ | 35 | \ | ||
34 | Terms::TYPE::TYPE(QString value) \ | 36 | Terms::TYPE::TYPE(QString value) \ | ||
35 | : values(QStringList() << value) \ | 37 | : values(QStringList() << value) \ | ||
36 | {} | 38 | {} | ||
37 | 39 | | |||
38 | #define IMPLEMENT_SPECIAL_TERM_VALUE(TYPE, VALUE_NAME, VALUE) \ | 40 | #define IMPLEMENT_SPECIAL_TERM_VALUE(TYPE, VALUE_NAME, VALUE) \ | ||
39 | Terms::TYPE Terms::TYPE::VALUE_NAME() \ | 41 | Terms::TYPE Terms::TYPE::VALUE_NAME() \ | ||
40 | { \ | 42 | { \ | ||
41 | return Terms::TYPE(VALUE); \ | 43 | return Terms::TYPE(VALUE); \ | ||
42 | } | 44 | } | ||
43 | 45 | | |||
44 | IMPLEMENT_TERM_CONSTRUCTORS(Type) | 46 | IMPLEMENT_TERM_CONSTRUCTORS(Type) | ||
45 | IMPLEMENT_SPECIAL_TERM_VALUE(Type, any, QStringLiteral(":any")) | 47 | IMPLEMENT_SPECIAL_TERM_VALUE(Type, any, ANY_TYPE_TAG) | ||
46 | 48 | | |||
47 | IMPLEMENT_TERM_CONSTRUCTORS(Agent) | 49 | IMPLEMENT_TERM_CONSTRUCTORS(Agent) | ||
48 | IMPLEMENT_SPECIAL_TERM_VALUE(Agent, any, QStringLiteral(":any")) | 50 | IMPLEMENT_SPECIAL_TERM_VALUE(Agent, any, ANY_AGENT_TAG) | ||
49 | IMPLEMENT_SPECIAL_TERM_VALUE(Agent, global, QStringLiteral(":global")) | 51 | IMPLEMENT_SPECIAL_TERM_VALUE(Agent, global, GLOBAL_AGENT_TAG) | ||
50 | IMPLEMENT_SPECIAL_TERM_VALUE(Agent, current, QStringLiteral(":current")) | 52 | IMPLEMENT_SPECIAL_TERM_VALUE(Agent, current, CURRENT_AGENT_TAG) | ||
51 | 53 | | |||
52 | IMPLEMENT_TERM_CONSTRUCTORS(Activity) | 54 | IMPLEMENT_TERM_CONSTRUCTORS(Activity) | ||
53 | IMPLEMENT_SPECIAL_TERM_VALUE(Activity, any, QStringLiteral(":any")) | 55 | IMPLEMENT_SPECIAL_TERM_VALUE(Activity, any, ANY_ACTIVITY_TAG) | ||
54 | IMPLEMENT_SPECIAL_TERM_VALUE(Activity, global, QStringLiteral(":global")) | 56 | IMPLEMENT_SPECIAL_TERM_VALUE(Activity, global, GLOBAL_ACTIVITY_TAG) | ||
55 | IMPLEMENT_SPECIAL_TERM_VALUE(Activity, current, QStringLiteral(":current")) | 57 | IMPLEMENT_SPECIAL_TERM_VALUE(Activity, current, CURRENT_ACTIVITY_TAG) | ||
56 | 58 | | |||
57 | IMPLEMENT_TERM_CONSTRUCTORS(Url) | 59 | IMPLEMENT_TERM_CONSTRUCTORS(Url) | ||
58 | IMPLEMENT_SPECIAL_TERM_VALUE(Url, localFile, QStringLiteral("/*")) | 60 | IMPLEMENT_SPECIAL_TERM_VALUE(Url, localFile, QStringLiteral("/*")) | ||
59 | IMPLEMENT_SPECIAL_TERM_VALUE(Url, file, QStringList() << QStringLiteral("/*") << QStringLiteral("smb:*") << QStringLiteral("fish:*") << QStringLiteral("sftp:*") << QStringLiteral("ftp:*")) | 61 | IMPLEMENT_SPECIAL_TERM_VALUE(Url, file, QStringList() << QStringLiteral("/*") << QStringLiteral("smb:*") << QStringLiteral("fish:*") << QStringLiteral("sftp:*") << QStringLiteral("ftp:*")) | ||
60 | 62 | | |||
61 | #undef IMPLEMENT_TERM_CONSTRUCTORS | 63 | #undef IMPLEMENT_TERM_CONSTRUCTORS | ||
62 | #undef IMPLEMENT_SPECIAL_TERM_VALUE | 64 | #undef IMPLEMENT_SPECIAL_TERM_VALUE | ||
63 | 65 | | |||
▲ Show 20 Lines • Show All 108 Lines • Show Last 20 Lines |