on xenial help sign in
Clean up a little
commit9eb4c299763cb6ad99d9953e7b7ec4da40ef46eb authorMichal Hruby <michal.mhr@gmail.com> dateThu 8 Aug 2013, 12:08 (13 years ago) parent373a2c2
4 files changed+82−53
Dash/Apps/AppsAvailableForDownloadModel.qml+14−7 Dash/Apps/DesktopFileModel.qml+51 Dash/Apps/FrequentlyUsedAppsModel.qml+13−7 Dash/DashApps.qml+4−39
Dash/Apps/AppsAvailableForDownloadModel.qml+14−7
@@ -15,12 +15,19 @@
1515 */
1616
1717import QtQuick 2.0
18+import "../../Applications"
1819
19−ListModel {
20− ListElement { desktopFile: "/usr/share/applications/evernote.desktop"; }
21− ListElement { desktopFile: "/usr/share/applications/map.desktop"; }
22− ListElement { desktopFile: "/usr/share/applications/pinterest.desktop"; }
23− ListElement { desktopFile: "/usr/share/applications/soundcloud.desktop"; }
24− ListElement { desktopFile: "/usr/share/applications/wikipedia.desktop"; }
25− ListElement { desktopFile: "/usr/share/applications/youtube.desktop"; }
20+DesktopFileModel {
21+ baseModel: desktopModel
22+
23+ ListModel {
24+ id: desktopModel
25+
26+ ListElement { desktopFile: "/usr/share/applications/evernote.desktop"; }
27+ ListElement { desktopFile: "/usr/share/applications/map.desktop"; }
28+ ListElement { desktopFile: "/usr/share/applications/pinterest.desktop"; }
29+ ListElement { desktopFile: "/usr/share/applications/soundcloud.desktop"; }
30+ ListElement { desktopFile: "/usr/share/applications/wikipedia.desktop"; }
31+ ListElement { desktopFile: "/usr/share/applications/youtube.desktop"; }
32+ }
2633}
Dash/Apps/DesktopFileModel.qmlnew file+51
@@ -0,0 +1,51 @@
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+ */
16+
17+import QtQuick 2.0
18+import "../../Applications"
19+
20+Item {
21+ id: root
22+
23+ property var model: null
24+ property var baseModel: null
25+
26+ ListModel {
27+ id: list
28+
29+ Component.onCompleted: { root.model = list; }
30+ }
31+
32+ Repeater {
33+ model: baseModel
34+ delegate: Item {
35+ Application {
36+ id: application
37+ desktopFile: model.desktopFile
38+ }
39+ Component.onCompleted: {
40+ list.append({"uri": model.desktopFile,
41+ "icon": "../../graphics/applicationIcons/" + application.icon + ".png",
42+ "category": 0,
43+ "mimetype": "application/x-desktop",
44+ "title": application.name,
45+ "comment": "",
46+ "dndUri": model.desktopFile,
47+ "metadata": {}});
48+ }
49+ }
50+ }
51+}
Dash/Apps/FrequentlyUsedAppsModel.qml+13−7
@@ -16,11 +16,17 @@
1616
1717import QtQuick 2.0
1818
19−ListModel {
20− ListElement { desktopFile: "/usr/share/applications/camera-app.desktop"; }
21− ListElement { desktopFile: "/usr/share/applications/phone-app.desktop"; }
22− ListElement { desktopFile: "/usr/share/applications/gallery-app.desktop"; }
23− ListElement { desktopFile: "/usr/share/applications/facebook-webapp.desktop"; }
24− ListElement { desktopFile: "/usr/share/applications/webbrowser-app.desktop"; }
25− ListElement { desktopFile: "/usr/share/applications/gmail-webapp.desktop"; }
19+DesktopFileModel {
20+ baseModel: desktopModel
21+
22+ ListModel {
23+ id: desktopModel
24+
25+ ListElement { desktopFile: "/usr/share/applications/camera-app.desktop"; }
26+ ListElement { desktopFile: "/usr/share/applications/phone-app.desktop"; }
27+ ListElement { desktopFile: "/usr/share/applications/gallery-app.desktop"; }
28+ ListElement { desktopFile: "/usr/share/applications/facebook-webapp.desktop"; }
29+ ListElement { desktopFile: "/usr/share/applications/webbrowser-app.desktop"; }
30+ ListElement { desktopFile: "/usr/share/applications/gmail-webapp.desktop"; }
31+ }
2632}
Dash/DashApps.qml+4−39
@@ -29,43 +29,8 @@ GenericScopeView {
2929 property var mainStageApplicationsModel: shell.applicationManager.mainStageApplications
3030 property var sideStageApplicationModel: shell.applicationManager.sideStageApplications
3131
32− ListModel {
33− id: frequentlyUsedAppsModel
34− }
35−
36− FrequentlyUsedAppsModel { id: frequentlyUsedAppsBaseModel }
37−
38− Repeater {
39− model: frequentlyUsedAppsBaseModel
40− delegate: Item {
41− Application {
42− id: application
43− desktopFile: model.desktopFile
44− }
45− Component.onCompleted: {
46− frequentlyUsedAppsModel.append({"uri": model.desktopFile, "icon": "../../graphics/applicationIcons/" + application.icon + ".png", "title": application.name, "dndUri": model.desktopFile});
47− }
48− }
49− }
50−
51− ListModel {
52− id: appsAvailableForDownloadModel
53− }
54−
55− AppsAvailableForDownloadModel { id: appsAvailableForDownloadBaseModel }
56−
57− Repeater {
58− model: appsAvailableForDownloadBaseModel
59− delegate: Item {
60− Application {
61− id: application
62− desktopFile: model.desktopFile
63− }
64− Component.onCompleted: {
65− appsAvailableForDownloadModel.append({"uri": model.desktopFile, "icon": "../../graphics/applicationIcons/" + application.icon + ".png", "title": application.name, "dndUri": model.desktopFile});
66− }
67− }
68− }
32+ FrequentlyUsedAppsModel { id: frequentlyUsedAppsModel }
33+ AppsAvailableForDownloadModel { id: appsAvailableForDownloadModel }
6934
7035 ListModel {
7136 id: runningApplicationsModel
@@ -76,8 +41,8 @@ GenericScopeView {
7641 }
7742
7843 onScopeChanged: {
79− scopeView.scope.categories.overrideCategory("recently-used", frequentlyUsedAppsModel);
44+ scopeView.scope.categories.overrideCategory("recently-used", frequentlyUsedAppsModel.model);
8045 scopeView.scope.categories.overrideCategory("recent", runningApplicationsModel);
81− scopeView.scope.categories.overrideCategory("more", appsAvailableForDownloadModel);
46+ scopeView.scope.categories.overrideCategory("more", appsAvailableForDownloadModel.model);
8247 }
8348}