~mhr3/unity8/fix-1297246

« back to all changes in this revision

Viewing changes to Applications/Application.qml

  • Committer: Michał Sawicz
  • Date: 2013-06-05 22:03:08 UTC
  • Revision ID: michal.sawicz@canonical.com-20130605220308-yny8fv3futtr04fg
Inital unity8 commit.

Previous history can be found at https://code.launchpad.net/~unity-team/unity/phablet

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
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.js" as ApplicationsModel
 
19
import Ubuntu.Application 0.1
 
20
 
 
21
/* This class is temporary. It is meant to be API compatible with qthybris' Application
 
22
   class.
 
23
   This class can be removed as soon as qthybris' Application is instantiable from QML
 
24
   and its 'desktopFile' property becomes writable.
 
25
   This also requires qthybris to be easily compilable on the desktop.
 
26
*/
 
27
QtObject {
 
28
    id: application
 
29
 
 
30
    property string desktopFile
 
31
    property string name
 
32
    property string comment
 
33
    property string icon
 
34
    property string exec
 
35
    property string stage
 
36
    property bool fullscreen
 
37
 
 
38
    onDesktopFileChanged: {
 
39
        var applicationData = ApplicationsModel.__availableApplications[desktopFile];
 
40
        if (applicationData) {
 
41
            application.name = applicationData.name;
 
42
            application.icon = applicationData.icon;
 
43
            application.exec = applicationData.exec;
 
44
            application.stage = applicationData.stage ? applicationData.stage : ApplicationInfo.MainStage;
 
45
            application.fullscreen = applicationData.fullscreen ? applicationData.fullscreen : false;
 
46
        } else {
 
47
            application.name = "";
 
48
            application.icon = "";
 
49
            application.exec = "";
 
50
            application.stage = "";
 
51
            application.fullscreen = false;
 
52
        }
 
53
    }
 
54
}