aboutsummaryrefslogtreecommitdiffstats
path: root/homescreen/qml
diff options
context:
space:
mode:
Diffstat (limited to 'homescreen/qml')
-rw-r--r--homescreen/qml/ShortcutArea.qml52
-rw-r--r--homescreen/qml/ShortcutIcon.qml64
-rw-r--r--homescreen/qml/StatusArea.qml15
-rw-r--r--homescreen/qml/images/AGL_HMI_Blue_Background_NoCar-01.pngbin949053 -> 951359 bytes
-rw-r--r--homescreen/qml/images/AGL_HMI_Full_Background.pngbin0 -> 9120 bytes
-rw-r--r--homescreen/qml/images/AGL_HMI_Normal_Background.pngbin0 -> 10012 bytes
-rw-r--r--homescreen/qml/images/Shortcut/blank.svg81
-rw-r--r--homescreen/qml/images/Shortcut/blank_active.svg100
-rw-r--r--homescreen/qml/images/Shortcut/sdl_usb.svg311
-rw-r--r--homescreen/qml/images/Shortcut/sdl_usb_active.svg278
-rw-r--r--homescreen/qml/images/Shortcut/shortcut.qrc6
-rw-r--r--homescreen/qml/images/Shortcut/video.svg109
-rw-r--r--homescreen/qml/images/Shortcut/video_active.svg126
-rw-r--r--homescreen/qml/images/fullscreen.pngbin0 -> 1633 bytes
-rw-r--r--homescreen/qml/images/images.qrc5
-rw-r--r--homescreen/qml/images/normal.pngbin0 -> 1626 bytes
-rw-r--r--homescreen/qml/images/normal_disable.pngbin0 -> 1721 bytes
-rw-r--r--homescreen/qml/main.qml140
18 files changed, 1228 insertions, 59 deletions
diff --git a/homescreen/qml/ShortcutArea.qml b/homescreen/qml/ShortcutArea.qml
index a8ce127..217aa9f 100644
--- a/homescreen/qml/ShortcutArea.qml
+++ b/homescreen/qml/ShortcutArea.qml
@@ -24,47 +24,41 @@ Item {
width: 785
height: 218
-
- ListModel {
- id: applicationModel
- ListElement {
- appid: 'launcher'
- name: 'launcher'
- application: 'launcher@0.1'
- }
- ListElement {
- appid: 'mediaplayer'
- name: 'MediaPlayer'
- application: 'mediaplayer@0.1'
- }
- ListElement {
- appid: 'hvac'
- name: 'HVAC'
- application: 'hvac@0.1'
- }
- ListElement {
- appid: 'navigation'
- name: 'Navigation'
- application: 'navigation@0.1'
- }
- }
-
property int pid: -1
RowLayout {
anchors.fill: parent
spacing: 2
Repeater {
- model: applicationModel
+ id: repeater
+ model: shortcutAppModel
delegate: ShortcutIcon {
Layout.fillWidth: true
Layout.fillHeight: true
- name: model.name
- active: model.name === launcher.current
+ name: shortcutAppModel.getName(model.index)
+ icon: shortcutAppModel.getIcon(model.index)
+ isBlank: shortcutAppModel.isBlank(model.index)
+ active: shortcutAppModel.getName(model.index).toLowerCase() === launcher.current
onClicked: {
- homescreenHandler.tapShortcut(model.appid)
+ console.log("launcher.current====="+homescreenHandler.getCurrentApplication())
+ if(launcher.current === shortcutAppModel.getName(model.index)) {
+ return
+ }
+ homescreenHandler.tapShortcut(shortcutAppModel.getId(model.index), false)
}
}
}
}
+
+ Connections {
+ target: shortcutAppModel
+ onUpdateShortcut: {
+ for(var i = 0; i < 4; i++) {
+ var item = repeater.itemAt(i)
+ item.name = shortcutAppModel.getName(i)
+ item.icon = shortcutAppModel.getIcon(i)
+ item.isBlank = shortcutAppModel.isBlank(i)
+ }
+ }
+ }
}
diff --git a/homescreen/qml/ShortcutIcon.qml b/homescreen/qml/ShortcutIcon.qml
index 1100a7c..e891c99 100644
--- a/homescreen/qml/ShortcutIcon.qml
+++ b/homescreen/qml/ShortcutIcon.qml
@@ -24,7 +24,10 @@ MouseArea {
width: 195
height: 216.8
property string name: 'Home'
+ property string icon:'./images/Shortcut/'
property bool active: false
+ property bool isBlank: false
+
Item {
id: icon
property real desaturation: 0
@@ -32,14 +35,42 @@ MouseArea {
Image {
id: inactiveIcon
anchors.fill: parent
- source: './images/Shortcut/%1.svg'.arg(root.name.toLowerCase())
+ source: './images/Shortcut/blank.svg'
+// source: isBlank ? './images/Shortcut/blank.svg' : root.icon
+ property string initial: root.name.substring(0,1).toUpperCase()
+ Label {
+ style: Text.Outline
+ styleColor: '#00FFFF'
+ color: 'transparent'
+ font.pixelSize: 75
+ anchors.centerIn: parent
+ text: inactiveIcon.initial
+ visible: root.isBlank
+ }
}
Image {
id: activeIcon
anchors.fill: parent
- source: './images/Shortcut/%1_active.svg'.arg(root.name.toLowerCase())
+ source: './images/Shortcut/blank_active.svg'
+// source: isBlank ? './images/Shortcut/blank_active.svg' : root.icon
+ property string initial: root.name.substring(0,1).toUpperCase()
+ Label {
+ style: Text.Outline
+ styleColor: '#00FFFF'
+ color: 'transparent'
+ font.pixelSize: 75
+ anchors.centerIn: parent
+ text: activeIcon.initial
+ visible: root.isBlank
+ }
opacity: 0.0
}
+ Image {
+ id: sourceIcon
+ anchors.fill: parent
+ source: isBlank ? null : root.icon
+ }
+
layer.enabled: true
layer.effect: Desaturate {
id: desaturate
@@ -47,6 +78,7 @@ MouseArea {
cached: true
}
}
+
Label {
id: name
y: 160
@@ -57,21 +89,11 @@ MouseArea {
anchors.horizontalCenter: parent.horizontalCenter
horizontalAlignment: Text.AlignHCenter
color: "white"
- text: qsTr(model.name.toUpperCase())
+ text: qsTr((root.name === "launcher" ? "home" : root.name).toUpperCase())
}
+
states: [
State {
- when: launcher.launching
- PropertyChanges {
- target: root
- enabled: false
- }
- PropertyChanges {
- target: icon
- desaturation: 1.0
- }
- },
- State {
when: root.active
PropertyChanges {
target: inactiveIcon
@@ -83,18 +105,4 @@ MouseArea {
}
}
]
-
- transitions: [
- Transition {
- NumberAnimation {
- properties: 'opacity'
- duration: 500
- easing.type: Easing.OutExpo
- }
- NumberAnimation {
- properties: 'desaturation'
- duration: 250
- }
- }
- ]
}
diff --git a/homescreen/qml/StatusArea.qml b/homescreen/qml/StatusArea.qml
index d2e0930..961cd88 100644
--- a/homescreen/qml/StatusArea.qml
+++ b/homescreen/qml/StatusArea.qml
@@ -109,6 +109,12 @@ Item {
font.pixelSize: 32
}
}
+ MouseArea {
+ anchors.fill: parent
+ onClicked: {
+ homescreenHandler.killRunningApplications()
+ }
+ }
}
}
ColumnLayout {
@@ -117,11 +123,16 @@ Item {
Layout.fillHeight: true
Layout.preferredWidth: 76
spacing: -10
+ Rectangle {
+ Layout.preferredWidth: 77
+ Layout.preferredHeight: 55
+ opacity: 0
+ }
Image {
id: bt_icon
Layout.preferredWidth: 77
- Layout.preferredHeight: 73
+ Layout.preferredHeight: 55
source: connStatus ? './images/Status/HMI_Status_Bluetooth_On-01.png' : './images/Status/HMI_Status_Bluetooth_Inactive-01.png'
fillMode: Image.PreserveAspectFit
property string deviceName: "none"
@@ -138,7 +149,7 @@ Item {
model: StatusBarModel { objectName: "statusBar" }
delegate: Image {
Layout.preferredWidth: 77
- Layout.preferredHeight: 73
+ Layout.preferredHeight: 55
source: model.modelData
fillMode: Image.PreserveAspectFit
}
diff --git a/homescreen/qml/images/AGL_HMI_Blue_Background_NoCar-01.png b/homescreen/qml/images/AGL_HMI_Blue_Background_NoCar-01.png
index 357c204..a4e026c 100644
--- a/homescreen/qml/images/AGL_HMI_Blue_Background_NoCar-01.png
+++ b/homescreen/qml/images/AGL_HMI_Blue_Background_NoCar-01.png
Binary files differ
diff --git a/homescreen/qml/images/AGL_HMI_Full_Background.png b/homescreen/qml/images/AGL_HMI_Full_Background.png
new file mode 100644
index 0000000..9631ca0
--- /dev/null
+++ b/homescreen/qml/images/AGL_HMI_Full_Background.png
Binary files differ
diff --git a/homescreen/qml/images/AGL_HMI_Normal_Background.png b/homescreen/qml/images/AGL_HMI_Normal_Background.png
new file mode 100644
index 0000000..c686067
--- /dev/null
+++ b/homescreen/qml/images/AGL_HMI_Normal_Background.png
Binary files differ
diff --git a/homescreen/qml/images/Shortcut/blank.svg b/homescreen/qml/images/Shortcut/blank.svg
new file mode 100644
index 0000000..3bccdca
--- /dev/null
+++ b/homescreen/qml/images/Shortcut/blank.svg
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Generator: Adobe Illustrator 21.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.1"
+ id="Home"
+ x="0px"
+ y="0px"
+ viewBox="0 0 195 216.8"
+ style="enable-background:new 0 0 195 216.8;"
+ xml:space="preserve"
+ inkscape:version="0.92.4 (5da689c313, 2019-01-14)"
+ sodipodi:docname="sdl_usb.svg"><metadata
+ id="metadata61"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title /></cc:Work></rdf:RDF></metadata><defs
+ id="defs59" /><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1920"
+ inkscape:window-height="1018"
+ id="namedview57"
+ showgrid="false"
+ showguides="true"
+ inkscape:guide-bbox="true"
+ inkscape:zoom="1.0885609"
+ inkscape:cx="18.255591"
+ inkscape:cy="102.46209"
+ inkscape:window-x="-8"
+ inkscape:window-y="-8"
+ inkscape:window-maximized="1"
+ inkscape:current-layer="Home"><sodipodi:guide
+ position="52.936865,144.9161"
+ orientation="0,1"
+ id="guide4189"
+ inkscape:locked="false" /><sodipodi:guide
+ position="66.027543,153.29873"
+ orientation="1,0"
+ id="guide4191"
+ inkscape:locked="false" /><sodipodi:guide
+ position="34.449153,79.00339"
+ orientation="0,1"
+ id="guide4193"
+ inkscape:locked="false" /><sodipodi:guide
+ position="132.05509,117.35678"
+ orientation="1,0"
+ id="guide4195"
+ inkscape:locked="false" /><sodipodi:guide
+ position="98.9839,162.94449"
+ orientation="1,0"
+ id="guide4266"
+ inkscape:locked="false" /><sodipodi:guide
+ position="67.290679,111.95975"
+ orientation="0,1"
+ id="guide4268"
+ inkscape:locked="false" /></sodipodi:namedview><style
+ type="text/css"
+ id="style3">
+ .st0{fill:#FFFFFF;}
+ .st1{font-family:'Roboto-Regular';}
+ .st2{font-size:11px;}
+ .st3{letter-spacing:2;}
+ .st4{fill:url(#SVGID_1_);}
+ .st5{fill:url(#SVGID_2_);}
+ .st6{fill:url(#SVGID_3_);}
+ .st7{fill:url(#SVGID_4_);}
+ .st8{fill:url(#SVGID_5_);}
+</style></svg> \ No newline at end of file
diff --git a/homescreen/qml/images/Shortcut/blank_active.svg b/homescreen/qml/images/Shortcut/blank_active.svg
new file mode 100644
index 0000000..0b63bc9
--- /dev/null
+++ b/homescreen/qml/images/Shortcut/blank_active.svg
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Generator: Adobe Illustrator 21.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+
+<svg
+ xmlns:i="&amp;ns_ai;"
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.1"
+ id="Home"
+ x="0px"
+ y="0px"
+ viewBox="0 0 195 216.8"
+ style="enable-background:new 0 0 195 216.8;"
+ xml:space="preserve"
+ sodipodi:docname="sdl_usb_active.svg"
+ inkscape:version="0.92.4 (5da689c313, 2019-01-14)"><metadata
+ id="metadata3773"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+ id="defs3771" /><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1920"
+ inkscape:window-height="1018"
+ id="namedview3769"
+ showgrid="false"
+ inkscape:zoom="3.8560885"
+ inkscape:cx="97.5"
+ inkscape:cy="108.4"
+ inkscape:window-x="-8"
+ inkscape:window-y="-8"
+ inkscape:window-maximized="1"
+ inkscape:current-layer="g3764" />
+<style
+ type="text/css"
+ id="style3750">
+ .st0{fill:#0DF9FF;}
+ .st1{fill:url(#Active_2_1_);}
+ .st2{fill:#FFFFFF;}
+ .st3{font-family:'Roboto-Regular';}
+ .st4{font-size:11px;}
+ .st5{letter-spacing:2;}
+ .st6{fill:url(#SVGID_1_);}
+ .st7{fill:url(#SVGID_2_);}
+ .st8{fill:url(#SVGID_3_);}
+ .st9{fill:url(#SVGID_4_);}
+ .st10{fill:url(#SVGID_5_);}
+</style>
+<switch
+ id="switch3766">
+ <g
+ i:extraneous="self"
+ id="g3764">
+ <rect
+ id="Active_1"
+ y="214.3"
+ transform="matrix(-1 -1.224647e-16 1.224647e-16 -1 195.8833 431.0468)"
+ class="st0"
+ width="195.9"
+ height="2.4" />
+ <linearGradient
+ id="Active_2_1_"
+ gradientUnits="userSpaceOnUse"
+ x1="97.9416"
+ y1="236.9585"
+ x2="97.9416"
+ y2="-68.5304">
+ <stop
+ offset="0"
+ style="stop-color:#0DF9FF"
+ id="stop3753" />
+ <stop
+ offset="9.208472e-02"
+ style="stop-color:#0DF9FF;stop-opacity:0.853"
+ id="stop3755" />
+ <stop
+ offset="0.6264"
+ style="stop-color:#0DF9FF;stop-opacity:0"
+ id="stop3757" />
+ </linearGradient>
+ <rect
+ id="Active_2"
+ class="st1"
+ width="195.9"
+ height="214.3" />
+
+ </g>
+</switch>
+</svg> \ No newline at end of file
diff --git a/homescreen/qml/images/Shortcut/sdl_usb.svg b/homescreen/qml/images/Shortcut/sdl_usb.svg
new file mode 100644
index 0000000..3b6a7e9
--- /dev/null
+++ b/homescreen/qml/images/Shortcut/sdl_usb.svg
@@ -0,0 +1,311 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Generator: Adobe Illustrator 21.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.1"
+ id="Home"
+ x="0px"
+ y="0px"
+ viewBox="0 0 195 216.8"
+ style="enable-background:new 0 0 195 216.8;"
+ xml:space="preserve"
+ inkscape:version="0.91 r13725"
+ sodipodi:docname="sdl.svg"><metadata
+ id="metadata61"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
+ id="defs59" /><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1855"
+ inkscape:window-height="1056"
+ id="namedview57"
+ showgrid="false"
+ showguides="true"
+ inkscape:guide-bbox="true"
+ inkscape:zoom="1.0885609"
+ inkscape:cx="18.255591"
+ inkscape:cy="102.46209"
+ inkscape:window-x="65"
+ inkscape:window-y="24"
+ inkscape:window-maximized="1"
+ inkscape:current-layer="Home"><sodipodi:guide
+ position="52.936865,144.9161"
+ orientation="0,1"
+ id="guide4189" /><sodipodi:guide
+ position="66.027543,153.29873"
+ orientation="1,0"
+ id="guide4191" /><sodipodi:guide
+ position="34.449153,79.00339"
+ orientation="0,1"
+ id="guide4193" /><sodipodi:guide
+ position="132.05509,117.35678"
+ orientation="1,0"
+ id="guide4195" /><sodipodi:guide
+ position="98.9839,162.94449"
+ orientation="1,0"
+ id="guide4266" /><sodipodi:guide
+ position="67.290679,111.95975"
+ orientation="0,1"
+ id="guide4268" /></sodipodi:namedview><style
+ type="text/css"
+ id="style3">
+ .st0{fill:#FFFFFF;}
+ .st1{font-family:'Roboto-Regular';}
+ .st2{font-size:11px;}
+ .st3{letter-spacing:2;}
+ .st4{fill:url(#SVGID_1_);}
+ .st5{fill:url(#SVGID_2_);}
+ .st6{fill:url(#SVGID_3_);}
+ .st7{fill:url(#SVGID_4_);}
+ .st8{fill:url(#SVGID_5_);}
+</style><image
+ y="71.883904"
+ x="66.027542"
+ id="image4332"
+ xlink:href="data:image/png;base64,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
+"
+ preserveAspectRatio="none"
+ height="65.912712"
+ width="66.02755" /></svg>
diff --git a/homescreen/qml/images/Shortcut/sdl_usb_active.svg b/homescreen/qml/images/Shortcut/sdl_usb_active.svg
new file mode 100644
index 0000000..9584885
--- /dev/null
+++ b/homescreen/qml/images/Shortcut/sdl_usb_active.svg
@@ -0,0 +1,278 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 21.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
+ <!ENTITY ns_extend "http://ns.adobe.com/Extensibility/1.0/">
+ <!ENTITY ns_ai "http://ns.adobe.com/AdobeIllustrator/10.0/">
+ <!ENTITY ns_graphs "http://ns.adobe.com/Graphs/1.0/">
+ <!ENTITY ns_vars "http://ns.adobe.com/Variables/1.0/">
+ <!ENTITY ns_imrep "http://ns.adobe.com/ImageReplacement/1.0/">
+ <!ENTITY ns_sfw "http://ns.adobe.com/SaveForWeb/1.0/">
+ <!ENTITY ns_custom "http://ns.adobe.com/GenericCustomNamespace/1.0/">
+ <!ENTITY ns_adobe_xpath "http://ns.adobe.com/XPath/1.0/">
+]>
+<svg version="1.1" id="Home" xmlns:x="&ns_extend;" xmlns:i="&ns_ai;" xmlns:graph="&ns_graphs;"
+ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 195 216.8"
+ style="enable-background:new 0 0 195 216.8;" xml:space="preserve">
+<style type="text/css">
+ .st0{fill:#0DF9FF;}
+ .st1{fill:url(#Active_2_1_);}
+ .st2{fill:#FFFFFF;}
+ .st3{font-family:'Roboto-Regular';}
+ .st4{font-size:11px;}
+ .st5{letter-spacing:2;}
+ .st6{fill:url(#SVGID_1_);}
+ .st7{fill:url(#SVGID_2_);}
+ .st8{fill:url(#SVGID_3_);}
+ .st9{fill:url(#SVGID_4_);}
+ .st10{fill:url(#SVGID_5_);}
+</style>
+<switch>
+ <g i:extraneous="self">
+ <rect id="Active_1" y="214.3" transform="matrix(-1 -1.224647e-16 1.224647e-16 -1 195.8833 431.0468)" class="st0" width="195.9" height="2.4"/>
+ <linearGradient id="Active_2_1_" gradientUnits="userSpaceOnUse" x1="97.9416" y1="236.9585" x2="97.9416" y2="-68.5304">
+ <stop offset="0" style="stop-color:#0DF9FF"/>
+ <stop offset="9.208472e-02" style="stop-color:#0DF9FF;stop-opacity:0.853"/>
+ <stop offset="0.6264" style="stop-color:#0DF9FF;stop-opacity:0"/>
+ </linearGradient>
+ <rect id="Active_2" class="st1" width="195.9" height="214.3"/>
+ <g>
+<image
+ y="71.883904"
+ x="66.027542"
+ id="image4332"
+ xlink:href="data:image/png;base64,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
+"
+ preserveAspectRatio="none"
+ height="65.912712"
+ width="66.02755" />
+ </g>
+ </g>
+</switch>
+</svg>
diff --git a/homescreen/qml/images/Shortcut/shortcut.qrc b/homescreen/qml/images/Shortcut/shortcut.qrc
index 5d67341..54df1ad 100644
--- a/homescreen/qml/images/Shortcut/shortcut.qrc
+++ b/homescreen/qml/images/Shortcut/shortcut.qrc
@@ -8,5 +8,11 @@
<file>mediaplayer_active.svg</file>
<file>navigation.svg</file>
<file>navigation_active.svg</file>
+ <file>video.svg</file>
+ <file>video_active.svg</file>
+ <file>sdl_usb.svg</file>
+ <file>sdl_usb_active.svg</file>
+ <file>blank.svg</file>
+ <file>blank_active.svg</file>
</qresource>
</RCC>
diff --git a/homescreen/qml/images/Shortcut/video.svg b/homescreen/qml/images/Shortcut/video.svg
new file mode 100644
index 0000000..e368922
--- /dev/null
+++ b/homescreen/qml/images/Shortcut/video.svg
@@ -0,0 +1,109 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ viewBox="0 0 195 217"
+ height="217"
+ width="195"
+ version="1.1"
+ id="svg2">
+ <metadata
+ id="metadata8">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <defs
+ id="defs6" />
+ <image
+ y="0"
+ x="0"
+ id="image10"
+ xlink:href="data:image/png;base64,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
+saNgIER9vJAmFrMmFNr4923DxrbK3eEE48FgwnyeM+8JRbttnpoQvAnDeNY8Jobp2evzAtM+a/wq
+xLBCG0jWKrRSqR82y+Iny2do43Qri+kZhgl6Ln94jzKqA0S1uAgtlDS/s9XM2nhRRafI4rmhQBO6
+PmNb5hjf8m+/V3lWAABFZ95IFM8JXudnis58A3X3BtsH9fmCEornD0woRWZEjKDcKOmhiPhVUfHL
+4dbQb74/b96W6VoL0z4M23WhbhmpN5/ZXJ9ZqlZu3VpPVZ1bBWfS20f3Ntq91Hs7hZc5doPtpJ5Q
+JGQNsug82bMEamPjJEQk9d6xp34GSR9kRW8CfUnVHa8XyMzu66LqgR51psgE6lCVnXnXMqmy8/ml
+ekJGkvXOMkTQSy9V937HmRA9tayyUdVa0ajtXI4uZ20D7eGzaWZmZmZmZmZmZmZmZmZmZmZmZmZm
+ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZm
+ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYv6v8BHUYYj+AaytYAAAAA
+SUVORK5CYII=
+"
+ style="image-rendering:optimizeQuality"
+ preserveAspectRatio="none"
+ height="217"
+ width="195" />
+</svg>
diff --git a/homescreen/qml/images/Shortcut/video_active.svg b/homescreen/qml/images/Shortcut/video_active.svg
new file mode 100644
index 0000000..344385f
--- /dev/null
+++ b/homescreen/qml/images/Shortcut/video_active.svg
@@ -0,0 +1,126 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ viewBox="0 0 195 217"
+ height="217"
+ width="195"
+ version="1.1"
+ id="svg2">
+ <metadata
+ id="metadata8">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <defs
+ id="defs6" />
+ <image
+ y="0"
+ x="0"
+ id="image10"
+ xlink:href="data:image/png;base64,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
+"
+ style="image-rendering:optimizeQuality"
+ preserveAspectRatio="none"
+ height="217"
+ width="195" />
+</svg>
diff --git a/homescreen/qml/images/fullscreen.png b/homescreen/qml/images/fullscreen.png
new file mode 100644
index 0000000..f56a13c
--- /dev/null
+++ b/homescreen/qml/images/fullscreen.png
Binary files differ
diff --git a/homescreen/qml/images/images.qrc b/homescreen/qml/images/images.qrc
index 37ad676..39f7eb6 100644
--- a/homescreen/qml/images/images.qrc
+++ b/homescreen/qml/images/images.qrc
@@ -6,5 +6,10 @@
<file>Utility_Music_Background-01.png</file>
<file>Utility_Radio_Background-01.png</file>
<file>AGL_HMI_Blue_Background_NoCar-01.png</file>
+ <file>AGL_HMI_Full_Background.png</file>
+ <file>AGL_HMI_Normal_Background.png</file>
+ <file>fullscreen.png</file>
+ <file>normal.png</file>
+ <file>normal_disable.png</file>
</qresource>
</RCC>
diff --git a/homescreen/qml/images/normal.png b/homescreen/qml/images/normal.png
new file mode 100644
index 0000000..92dee7a
--- /dev/null
+++ b/homescreen/qml/images/normal.png
Binary files differ
diff --git a/homescreen/qml/images/normal_disable.png b/homescreen/qml/images/normal_disable.png
new file mode 100644
index 0000000..f191241
--- /dev/null
+++ b/homescreen/qml/images/normal_disable.png
Binary files differ
diff --git a/homescreen/qml/main.qml b/homescreen/qml/main.qml
index 7d40276..a8d095b 100644
--- a/homescreen/qml/main.qml
+++ b/homescreen/qml/main.qml
@@ -26,6 +26,7 @@ Window {
width: container.width * container.scale
height: container.height * container.scale
title: 'HomeScreen'
+ color: "#00000000"
Image {
id: container
@@ -60,6 +61,145 @@ Window {
Layout.preferredHeight: 215
}
}
+
+
+ state: "normal"
+
+ states: [
+ State {
+ name: "normal"
+ PropertyChanges {
+ target: topArea
+ y: 0
+ }
+ PropertyChanges {
+ target: applicationArea
+ y: 218
+ }
+ PropertyChanges {
+ target: mediaArea
+ y: 1705
+ }
+ },
+ State {
+ name: "fullscreen"
+ PropertyChanges {
+ target: topArea
+ y: -220
+ }
+ PropertyChanges {
+ target: applicationArea
+ y: -1490
+ }
+ PropertyChanges {
+ target: mediaArea
+ y: 2135
+ }
+ }
+ ]
+ transitions: Transition {
+ NumberAnimation {
+ target: topArea
+ property: "y"
+ easing.type: "OutQuad"
+ duration: 250
+ }
+ NumberAnimation {
+ target: mediaArea
+ property: "y"
+ easing.type: "OutQuad"
+ duration: 250
+ }
+ }
+
+ }
+ Item {
+ id: switchBtn
+ width: 70
+ height: 70
+ anchors.right: parent.right
+ anchors.top: parent.top
+ z: 1
+ property bool enableSwitchBtn: true
+ Image {
+ anchors.right: parent.right
+ anchors.rightMargin: 20
+ anchors.top: parent.top
+ anchors.topMargin: 25
+ width: 35
+ height: 35
+ id: image
+ source: './images/normal.png'
+ }
+
+ MouseArea {
+ anchors.fill: parent
+ onClicked: {
+ if(switchBtn.enableSwitchBtn) {
+ var appName = homescreenHandler.getCurrentApplication()
+ if (container.state === 'normal') {
+ image.source = './images/fullscreen.png'
+ container.state = 'fullscreen'
+ touchArea.switchArea(1)
+ homescreenHandler.tapShortcut(appName, true)
+ container.opacity = 0.0
+ } else {
+ image.source = './images/normal.png'
+ container.state = 'normal'
+ touchArea.switchArea(0)
+ homescreenHandler.tapShortcut(appName, false)
+ container.opacity = 1.0
+ }
+ }
+ }
+ }
+ }
+
+ Item {
+ id: rebootBtn
+ width: 70
+ height: 70
+ anchors.left: parent.left
+ anchors.top: parent.top
+ z: 1
+ MouseArea {
+ anchors.fill: parent
+ onClicked: {
+ homescreenHandler.reboot();
+ }
+ }
+ }
+
+ function changeSwitchState(is_navigation) {
+ if(container.state === 'normal') {
+ if(is_navigation) {
+ switchBtn.enableSwitchBtn = true
+ image.source = './images/normal.png'
+ } else {
+ switchBtn.enableSwitchBtn = false
+ image.source = './images/normal_disable.png'
+ }
+ }
+ }
+
+ Connections {
+ target: homescreenHandler
+ onShowWindow: {
+ container.state = 'normal'
+ image.visible = true
+ touchArea.switchArea(0)
+ container.opacity = 1.0
+ }
+ }
+
+ Connections {
+ target: homescreenHandler
+ onHideWindow: {
+ container.state = 'fullscreen'
+ image.visible = false
+ touchArea.switchArea(1)
+ container.opacity = 0.0
+ }
}
Timer {