@@ -16,15 +16,14 @@
17import QtQuick 2.0
17import QtQuick 2.0
18import Unity.Application 0.1
18import Unity.Application 0.1
22 id: applicationManager
21 id: applicationManager
24− property var mainStageApplications: mainStageModel
23+ property alias mainStageApplications: mainStageModel
25− property var sideStageApplications: sideStageModel
24+ property alias sideStageApplications: sideStageModel
26− property var mainStageFocusedApplication: null
25+ property alias mainStageFocusedApplication: mainStageModel.focusedApplication
27− property var sideStageFocusedApplication: null
26+ property alias sideStageFocusedApplication: sideStageModel.focusedApplication
28 property bool sideStageEnabled: true
27 property bool sideStageEnabled: true
29 signal focusRequested(string desktopFile)
28 signal focusRequested(string desktopFile)
30 property bool keyboardVisible: ApplicationManager.keyboardVisible
29 property bool keyboardVisible: ApplicationManager.keyboardVisible
@@ -32,39 +31,21 @@ Item {
33 property bool fake: ApplicationManager.fake ? ApplicationManager.fake : false
32 property bool fake: ApplicationManager.fake ? ApplicationManager.fake : false
35− SortFilterProxyModel {
34+ ApplicationsModelStageFiltered {
36 id: mainStageModel
35 id: mainStageModel
37− model: ApplicationManager
38− dynamicSortFilter: true
39− filterRole: ApplicationManager.RoleStage
40− filterRegExp: RegExp(ApplicationInfo.MainStage)
36+ stage: ApplicationInfo.MainStage
42− onCountChanged: { print("MODEL Main:", count, ApplicationManager.RoleStage, ApplicationManager.RoleFocused)
43− mainStageFocusedApplication = ApplicationManager.get(mainStageModel.findFirst(ApplicationManager.RoleFocused, true));
44− print("MS", mainStageFocusedApplication)
46− onLayoutChanged: print("LAYOUT")
47− onDataChanged: print("DATA")
50− SortFilterProxyModel {
39+ ApplicationsModelStageFiltered {
51 id: sideStageModel
40 id: sideStageModel
52− model: ApplicationManager
53− dynamicSortFilter: true
54− filterRole: ApplicationManager.RoleStage
55− filterRegExp: RegExp(ApplicationInfo.SideStage)
41+ stage: ApplicationInfo.SideStage
57− onDataChanged: { print("MODEL Side", count)
58− sideStageFocusedApplication = ApplicationManager.get(sideStageModel.findFirst(ApplicationManager.RoleFocused, true));
59− print("SS", sideStageFocusedApplication)
63 function activateApplication(desktopFile, argument) {
44 function activateApplication(desktopFile, argument) {
64 var appId;
45 var appId;
66 // HACK: might be called with appId, but mostly with desktopFile
47 // HACK: might be called with appId, but mostly with desktopFile
67− if (desktopFile.indexOf(".desktop") = -1) {
48+ if (desktopFile.indexOf(".desktop") >= 0) {
68 appId = desktopFileToAppId(desktopFile);
49 appId = desktopFileToAppId(desktopFile);
70 appId = desktopFile;
51 appId = desktopFile;
@@ -97,7 +78,7 @@ Item {
97 ApplicationManager.stopProcess(appId);
78 ApplicationManager.stopProcess(appId);
100− function focusApplication(application) {
81+ function focusApplication(application) {print("focusApplication", application.appId)
101 if (application == null || application == undefined) {
82 if (application == null || application == undefined) {
@@ -109,13 +90,25 @@ Item {
109 ApplicationManager.unfocusCurrentApplication();
90 ApplicationManager.unfocusCurrentApplication();
112− function moveRunningApplicationStackPosition(from, to, stage) { //FIXME: stage unused!
93+ function moveRunningApplicationStackPosition(from, to, stage) { print("moveRunningApplicationStackPosition", from, to, stage)
113− if (from !== to && from >= 0 && to >= 0) ApplicationManager.move(from, to);
94+ if (from == to || from < 0 || to < 0) return;
96+ if (stage == ApplicationInfo.SideStage) {
97+ sideStageModel.move(from, to);
99+ mainStageModel.move(from, to);
116 function getApplicationFromDesktopFile(desktopFile, stage) {
103 function getApplicationFromDesktopFile(desktopFile, stage) {
117− var foundSideStageApp, foundMainStageApp;
104+ var appId;
106+ // HACK: might be called with appId, but mostly with desktopFile
107+ if (desktopFile.indexOf(".desktop") >= 0) {
118− var appId = desktopFileToAppId(desktopFile);
108+ appId = desktopFileToAppId(desktopFile);
110+ appId = desktopFile;
120 for (var i = 0, len = ApplicationManager.count; i < len; i++ ) {
113 for (var i = 0, len = ApplicationManager.count; i < len; i++ ) {
121 var app = ApplicationManager.get(i);
114 var app = ApplicationManager.get(i);