on 5bc8421 help sign in
unity8/Components/SearchHistoryModel.qml
41 lines 1.3 kB history raw
1/*
2 * Copyright (C) 2013 Canonical, Ltd.
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation; version 3.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
17import QtQuick 2.0
19// TODO sanitize input, move to persistent storage
21ListModel {
22 function addQuery(newQuery) {
23 // strip whitespaces
24 newQuery = newQuery.replace(/^\s+|\s+$/g, '');
25 // ignore empty queries
26 if (newQuery == "") return
27 for (var i = 0; i < count; i++) {
28 if (get(i).query == newQuery) {
29 // promote existing entry
30 move(i, 0, 1)
31 return
32 }
33 }
34 // add a new entry
35 insert(0, { "query": newQuery })
36 if (count > 3) {
37 // remove entries if there's more than three
38 remove(3)
39 }
40 }