Warning, /plasma-mobile/plasma-camera/src/contents/ui/GlobalDrawer.qml is written in an unsupported language. File is not indexed.
0001 // SPDX-FileCopyrightText: 2018 Jonah BrĂ¼chert <jbb@kaidan.im> 0002 // SPDX-FileCopyrightText: 2013 Digia Plc and/or its subsidiary(-ies) 0003 // SPDX-License-Identifier: BSD-3-Clause 0004 0005 import org.kde.kirigami 2.0 as Kirigami 0006 import QtQuick 2.7 0007 import QtMultimedia 5.8 0008 0009 import org.kde.plasmacamera 1.0 0010 0011 Kirigami.GlobalDrawer { 0012 id: drawer 0013 property var camera 0014 handleVisible: false 0015 Component { 0016 id: devicesSubAction 0017 0018 Kirigami.Action { 0019 property string value 0020 checked: value === CameraSettings.cameraDeviceId 0021 0022 onTriggered: { 0023 CameraSettings.cameraDeviceId = value 0024 } 0025 } 0026 } 0027 0028 Component { 0029 id: resolutionSubAction 0030 0031 Kirigami.Action { 0032 property size value 0033 checked: value === CameraSettings.resolution 0034 0035 onTriggered: { 0036 CameraSettings.resolution = value 0037 } 0038 } 0039 } 0040 0041 actions: [ 0042 Kirigami.Action { 0043 id: devicesAction 0044 text: i18n("Camera") 0045 iconName: "camera-photo-symbolic" 0046 Component.onCompleted: { 0047 var cameras = QtMultimedia.availableCameras 0048 var childrenList = [] 0049 0050 for (var i in cameras) { 0051 childrenList[i] = devicesSubAction.createObject(devicesAction, { 0052 value: cameras[i].deviceId, 0053 text: "%1".arg(cameras[i].displayName) 0054 }) 0055 } 0056 devicesAction.children = childrenList 0057 } 0058 }, 0059 Kirigami.Action { 0060 id: resolutionAction 0061 text: i18n("Resolution") 0062 iconName: "ratiocrop" 0063 Component.onCompleted: { 0064 var resolutions = drawer.camera.imageCapture.supportedResolutions 0065 var childrenList = [] 0066 0067 for (var i in resolutions) { 0068 var pixels = resolutions[i].width * resolutions[i].height 0069 var megapixels = Math.round(pixels / 10000) / 100 0070 0071 childrenList[i] = resolutionSubAction.createObject(resolutionAction, { 0072 value: resolutions[i], 0073 text: "%1 x %2 (%3 MP)".arg(resolutions[i].width).arg(resolutions[i].height).arg(megapixels) 0074 }) 0075 } 0076 resolutionAction.children = childrenList 0077 } 0078 }, 0079 Kirigami.Action { 0080 id: wbaction 0081 text: i18n("White balance") 0082 iconName: "whitebalance" 0083 Kirigami.Action { 0084 iconName: "qrc:///camera_auto_mode.png" 0085 onTriggered: CameraSettings.whiteBalanceMode = CameraImageProcessing.WhiteBalanceAuto 0086 text: i18n("Auto") 0087 checked: CameraSettings.whiteBalanceMode === CameraImageProcessing.WhiteBalanceAuto 0088 } 0089 Kirigami.Action { 0090 iconName: "qrc:///camera_white_balance_sunny.png" 0091 onTriggered: CameraSettings.whiteBalanceMode = CameraImageProcessing.WhiteBalanceSunlight 0092 text: i18n("Sunlight") 0093 checked: CameraSettings.whiteBalanceMode === CameraImageProcessing.WhiteBalanceSunlight 0094 } 0095 Kirigami.Action { 0096 iconName: "qrc:///camera_white_balance_cloudy.png" 0097 onTriggered: CameraSettings.whiteBalanceMode = CameraImageProcessing.WhiteBalanceCloudy 0098 text: i18n("Cloudy") 0099 checked: CameraSettings.whiteBalanceMode === CameraImageProcessing.WhiteBalanceCloudy 0100 } 0101 Kirigami.Action { 0102 iconName: "qrc:///camera_white_balance_incandescent.png" 0103 onTriggered: CameraSettings.whiteBalanceMode = CameraImageProcessing.WhiteBalanceTungsten 0104 text: i18n("Tungsten") 0105 checked: CameraSettings.whiteBalanceMode === CameraImageProcessing.WhiteBalanceTungsten 0106 } 0107 Kirigami.Action { 0108 iconName: "qrc:///camera_white_balance_flourescent.png" 0109 onTriggered: CameraSettings.whiteBalanceMode = CameraImageProcessing.WhiteBalanceFluorescent 0110 text: i18n("Fluorescent") 0111 checked: CameraSettings.whiteBalanceMode === CameraImageProcessing.WhiteBalanceFluorescent 0112 } 0113 }, 0114 Kirigami.Action { 0115 text: i18n("About") 0116 iconName: "help-about" 0117 onTriggered: pageStack.pushDialogLayer("qrc:/AboutPage.qml") 0118 } 0119 ] 0120 }