summaryrefslogtreecommitdiffstats
path: root/akonadish/akonadish_utils.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'akonadish/akonadish_utils.cpp')
-rw-r--r--akonadish/akonadish_utils.cpp26
1 files changed, 6 insertions, 20 deletions
diff --git a/akonadish/akonadish_utils.cpp b/akonadish/akonadish_utils.cpp
index 070d788..140c741 100644
--- a/akonadish/akonadish_utils.cpp
+++ b/akonadish/akonadish_utils.cpp
@@ -22,6 +22,8 @@
22 22
23#include "common/clientapi.h" 23#include "common/clientapi.h"
24 24
25#include "utils.h"
26
25namespace AkonadishUtils 27namespace AkonadishUtils
26{ 28{
27 29
@@ -98,40 +100,24 @@ QStringList resourceIds(State &state)
98 return resources; 100 return resources;
99} 101}
100 102
101QStringList filtered(const QStringList &list, const QString &fragment)
102{
103 if (fragment.isEmpty()) {
104 return list;
105 }
106
107 QStringList filtered;
108 for (auto item: list) {
109 if (item.startsWith(fragment)) {
110 filtered << item;
111 }
112 }
113
114 return filtered;
115}
116
117QStringList resourceCompleter(const QStringList &, const QString &fragment, State &state) 103QStringList resourceCompleter(const QStringList &, const QString &fragment, State &state)
118{ 104{
119 return filtered(resourceIds(state), fragment); 105 return Utils::filteredCompletions(resourceIds(state), fragment);
120} 106}
121 107
122QStringList resourceOrTypeCompleter(const QStringList &commands, const QString &fragment, State &state) 108QStringList resourceOrTypeCompleter(const QStringList &commands, const QString &fragment, State &state)
123{ 109{
124 static QStringList types = QStringList() << "resource" << "folder" << "mail" << "event"; 110 static QStringList types = QStringList() << "resource" << "folder" << "mail" << "event";
125 if (commands.count() == 1) { 111 if (commands.count() == 1) {
126 return filtered(s_types, fragment); 112 return Utils::filteredCompletions(s_types, fragment);
127 } 113 }
128 114
129 return filtered(resourceIds(state), fragment); 115 return Utils::filteredCompletions(resourceIds(state), fragment);
130} 116}
131 117
132QStringList typeCompleter(const QStringList &commands, const QString &fragment, State &state) 118QStringList typeCompleter(const QStringList &commands, const QString &fragment, State &state)
133{ 119{
134 return filtered(s_types, fragment); 120 return Utils::filteredCompletions(s_types, fragment);
135} 121}
136 122
137QMap<QString, QString> keyValueMapFromArgs(const QStringList &args) 123QMap<QString, QString> keyValueMapFromArgs(const QStringList &args)