Hide unusable ui parts depending on device quirks
authorMohammed Sameer <msameer@foolab.org>
Thu, 15 Aug 2013 23:26:17 +0000 (02:26 +0300)
committerMohammed Sameer <msameer@foolab.org>
Thu, 15 Aug 2013 23:26:17 +0000 (02:26 +0300)
qml/FlashButton.qml
qml/ImageOverlay.qml
qml/ImageSceneButton.qml
qml/VideoOverlay.qml

index 68f5f95..0202913 100644 (file)
@@ -49,6 +49,7 @@ CameraToolIcon {
                 iconSource: icon
                 onClicked: settings.imageFlashMode = value
                 checked: settings.imageFlashMode == value
                 iconSource: icon
                 onClicked: settings.imageFlashMode = value
                 checked: settings.imageFlashMode == value
+                visible: !(overlay.cam.quirks.hasQuirk(Quirks.NoRedEyeFlash) && value == Flash.RedEye)
             }
         }
     }
             }
         }
     }
index 56a8cf4..e8c88e3 100644 (file)
@@ -128,7 +128,7 @@ Item {
         tools: CameraToolBarTools {
             FlashButton {
                 onClicked: toolBar.push(tools)
         tools: CameraToolBarTools {
             FlashButton {
                 onClicked: toolBar.push(tools)
-                visible: cam.device == 0
+                visible: !overlay.cam.quirks.hasQuirk(Quirks.NoFlash)
             }
 
             ImageSceneButton {
             }
 
             ImageSceneButton {
@@ -174,7 +174,7 @@ Item {
 
             Indicator {
                 id: flashIndicator
 
             Indicator {
                 id: flashIndicator
-                visible: !toolBar.expanded && cam.device == 0
+                visible: !toolBar.expanded && !overlay.cam.quirks.hasQuirk(Quirks.NoFlash)
                 source: cameraTheme.flashIcon(settings.imageFlashMode)
             }
 
                 source: cameraTheme.flashIcon(settings.imageFlashMode)
             }
 
@@ -283,13 +283,13 @@ Item {
     }
 
     function startAutoFocus() {
     }
 
     function startAutoFocus() {
-        if (cam.device == 0) {
+        if (!overlay.cam.quirks.hasQuirk(Quirks.NoAutoFocus)) {
             cam.autoFocus.startAutoFocus()
         }
     }
 
     function stopAutoFocus() {
             cam.autoFocus.startAutoFocus()
         }
     }
 
     function stopAutoFocus() {
-        if (cam.device == 0) {
+        if (!overlay.cam.quirks.hasQuirk(Quirks.NoAutoFocus)) {
             cam.autoFocus.stopAutoFocus()
         }
     }
             cam.autoFocus.stopAutoFocus()
         }
     }
index ebb748d..54ca4fb 100644 (file)
@@ -50,6 +50,7 @@ CameraToolIcon {
                 iconSource: icon
                 onClicked: settings.imageSceneMode = value
                 checked: settings.imageSceneMode == value
                 iconSource: icon
                 onClicked: settings.imageSceneMode = value
                 checked: settings.imageSceneMode == value
+                visible: !(value == Scene.Night && overlay.cam.quirks.hasQuirk(Quirks.NoNightSceneMode))
             }
         }
     }
             }
         }
     }
index 382410e..c255a29 100644 (file)
@@ -104,11 +104,12 @@ Item {
         tools: CameraToolBarTools {
             VideoTorchButton {
                 camera: cam
         tools: CameraToolBarTools {
             VideoTorchButton {
                 camera: cam
-                visible: cam.device == 0
+                visible: !overlay.cam.quirks.hasQuirk(Quirks.NoVideoTorch)
             }
 
             VideoSceneButton {
             }
 
             VideoSceneButton {
-                visible: !overlay.recording
+                property bool hide: (overlay.recording && overlay.cam.quirks.hasQuirk(Quirks.NoSceneModeChangeDuringRecording)) || overlay.cam.quirks.hasQuirk(Quirks.NoNightSceneMode)
+                visible: !hide
                 onClicked: toolBar.push(tools)
             }
 
                 onClicked: toolBar.push(tools)
             }