disable fullscreen button if not navigation
authorzheng_wenlong <wenlong_zheng@nexty-ele.com>
Fri, 30 Nov 2018 06:33:40 +0000 (15:33 +0900)
committerzheng_wenlong <wenlong_zheng@nexty-ele.com>
Fri, 30 Nov 2018 06:33:40 +0000 (15:33 +0900)
homescreen/qml/main.qml
homescreen/src/homescreenhandler.cpp
homescreen/src/homescreenhandler.h
homescreen/src/main.cpp

index f70325f..6dace77 100644 (file)
@@ -141,24 +141,26 @@ Window {
                         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
                     }
                 }
             }
         }
     }
-    function changeSwitchState(is_split) {
+    function changeSwitchState(is_navigation) {
         if(container.state === 'normal') {
-            if(is_split) {
-                switchBtn.enableSwitchBtn = false
-                image.source = './images/normal_disable.png'
-            } else {
+            if(is_navigation) {
                 switchBtn.enableSwitchBtn = true
                 image.source = './images/normal.png'
+            } else {
+                switchBtn.enableSwitchBtn = false
+                image.source = './images/normal_disable.png'
             }
         }
     }
index d931ba8..c1cff26 100644 (file)
@@ -23,7 +23,6 @@ void* HomescreenHandler::myThis = 0;
 HomescreenHandler::HomescreenHandler(QObject *parent) :
     QObject(parent),
     mp_hs(NULL),
-    previous_application("launcher"),
     current_applciation("launcher")
 {
 
@@ -68,20 +67,9 @@ void HomescreenHandler::tapShortcut(QString application_name, bool is_full)
     mp_hs->showWindow(application_name.toStdString().c_str(), j_json);
 }
 
-bool HomescreenHandler::isSplit()
-{
-    if(current_applciation == "video") {
-        if(previous_application == "navigation") {
-            return true;
-        }
-    }
-    return false;
-}
-
 void HomescreenHandler::setCurrentApplication(QString application_name)
 {
     HMI_DEBUG("HomeScreen","setCurrentApplication %s", application_name.toStdString().c_str());
-    previous_application = current_applciation;
     current_applciation = application_name;
 }
 
index 9def3e8..539d380 100644 (file)
@@ -35,7 +35,6 @@ public:
     Q_INVOKABLE void tapShortcut(QString application_name, bool is_full);
     Q_INVOKABLE QString getCurrentApplication();
     void setCurrentApplication(QString application_name);
-    bool isSplit();
 
     void onRep(struct json_object* reply_contents);
     void onEv(const string& event, struct json_object* event_contents);
@@ -50,7 +49,7 @@ signals:
 
 private:
     LibHomeScreen *mp_hs;
-    QString previous_application, current_applciation;
+    QString current_applciation;
 };
 
 #endif // HOMESCREENHANDLER_H
index 9b83edc..6e9dd1c 100644 (file)
@@ -136,15 +136,22 @@ int main(int argc, char *argv[])
 
     layoutHandler->set_event_handler(QLibWindowmanager::Event_ScreenUpdated, [layoutHandler, launcher, homescreenHandler, root](json_object *object) {
         json_object *jarray = json_object_object_get(object, "ids");
+        HMI_DEBUG("HomeScreen","ids=%s", json_object_to_json_string(object));
         int arrLen = json_object_array_length(jarray);
+        QString label = QString("");
         for( int idx = 0; idx < arrLen; idx++)
         {
-            QString label = QString(json_object_get_string(    json_object_array_get_idx(jarray, idx) ));
+            label = QString(json_object_get_string(    json_object_array_get_idx(jarray, idx) ));
             HMI_DEBUG("HomeScreen","Event_ScreenUpdated application11: %s.", label.toStdString().c_str());
             homescreenHandler->setCurrentApplication(label);
             QMetaObject::invokeMethod(launcher, "setCurrent", Qt::QueuedConnection, Q_ARG(QString, label));
-            QMetaObject::invokeMethod(root, "changeSwitchState", Q_ARG(QVariant, homescreenHandler->isSplit()));
         }
+        if((arrLen == 1) && (QString("navigation") == label)){
+            QMetaObject::invokeMethod(root, "changeSwitchState", Q_ARG(QVariant, true));
+        }else{
+            QMetaObject::invokeMethod(root, "changeSwitchState", Q_ARG(QVariant, false));
+        }
+
     });
 
     touchArea->setWindow(window);