diff options
Diffstat (limited to 'akonadish/akonadish_utils.cpp')
-rw-r--r-- | akonadish/akonadish_utils.cpp | 26 |
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 | |||
25 | namespace AkonadishUtils | 27 | namespace AkonadishUtils |
26 | { | 28 | { |
27 | 29 | ||
@@ -98,40 +100,24 @@ QStringList resourceIds(State &state) | |||
98 | return resources; | 100 | return resources; |
99 | } | 101 | } |
100 | 102 | ||
101 | QStringList 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 | |||
117 | QStringList resourceCompleter(const QStringList &, const QString &fragment, State &state) | 103 | QStringList 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 | ||
122 | QStringList resourceOrTypeCompleter(const QStringList &commands, const QString &fragment, State &state) | 108 | QStringList 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 | ||
132 | QStringList typeCompleter(const QStringList &commands, const QString &fragment, State &state) | 118 | QStringList 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 | ||
137 | QMap<QString, QString> keyValueMapFromArgs(const QStringList &args) | 123 | QMap<QString, QString> keyValueMapFromArgs(const QStringList &args) |