on 53e220e help sign in
unity8/Dash/ScopeView.qml
64 lines 1.8 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
18import Utils 0.1
19import Unity 0.1
21FocusScope {
22 property Scope scope
23 property SortFilterProxyModel categories: categoryFilter
24 property bool isCurrent
25 property ListModel searchHistory
27 signal endReached
28 signal movementStarted
29 signal positionedAtBeginning
31 // FIXME delay the search so that daemons have time to settle, note that
32 // removing this will break ScopeView::test_changeScope
33 onScopeChanged: {
34 if (scope) {
35 timer.restart();
36 scope.activateApplication.connect(activateApp);
37 }
38 }
40 function activateApp(desktopFilePath) {
41 shell.activateApplication(desktopFilePath);
42 }
44 Binding {
45 target: scope
46 property: "isActive"
47 value: isCurrent
48 }
50 Timer {
51 id: timer
52 interval: 2000
53 onTriggered: scope.searchQuery = ""
54 }
56 SortFilterProxyModel {
57 id: categoryFilter
58 model: scope ? scope.categories : null
59 dynamicSortFilter: true
60 filterRole: Categories.RoleCount
61 filterRegExp: /^0$/
62 invertMatch: true
63 }