From 38ae6c17352880f8603d806addba1dfa30b0f5a7 Mon Sep 17 00:00:00 2001 From: Mohammed Sameer Date: Sun, 28 Jul 2013 01:27:55 +0300 Subject: [PATCH] Make a new component CameraPositionSource to get rid of QtMobility dependency --- qml/harmattan/CameraPositionSource.qml | 42 ++++++++++++++++++++++++++ qml/harmattan/harmattan.qrc | 1 + qml/main.qml | 23 ++++++-------- 3 files changed, 52 insertions(+), 14 deletions(-) create mode 100644 qml/harmattan/CameraPositionSource.qml diff --git a/qml/harmattan/CameraPositionSource.qml b/qml/harmattan/CameraPositionSource.qml new file mode 100644 index 0000000..d08bd78 --- /dev/null +++ b/qml/harmattan/CameraPositionSource.qml @@ -0,0 +1,42 @@ +// -*- qml -*- + +/*! + * This file is part of CameraPlus. + * + * Copyright (C) 2012-2013 Mohammed Sameer + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +import QtQuick 1.1 +import com.nokia.meego 1.1 +import CameraPlus 1.0 +import QtMobility.location 1.2 + +PositionSource { + // NOTE: The source will not reset the position when we lose the signal. + // This shouldn't be a big problem as we are course enough. + // If we ever need street level updates then this will be an issue. + id: positionSource + + property alias longitude: position.coordinate.longitude + property alias latitude: position.coordinate.latitude + property alias altitude: position.coordinate.altitude + property alias longitudeValid: position.longitudeValid + property alias latitudeValid: position.latitudeValid + property alias altitudeValid: position.altitudeValid + property alias horizontalAccuracy: position.horizontalAccuracy + property alias horizontalAccuracyValid: position.horizontalAccuracyValid +} diff --git a/qml/harmattan/harmattan.qrc b/qml/harmattan/harmattan.qrc index 0c58291..1113a3b 100644 --- a/qml/harmattan/harmattan.qrc +++ b/qml/harmattan/harmattan.qrc @@ -15,5 +15,6 @@ CameraMenu.qml CameraMenuAction.qml FullScreenThumbnail.qml + CameraPositionSource.qml diff --git a/qml/main.qml b/qml/main.qml index 748ff83..9e89af6 100644 --- a/qml/main.qml +++ b/qml/main.qml @@ -23,7 +23,6 @@ import QtQuick 2.0 import QtCamera 1.0 import CameraPlus 1.0 -import QtMobility.location 1.2 // TODO: flash not ready (battery low or flash not ready message) @@ -97,11 +96,7 @@ CameraWindow { } property alias dimmer: camDimmer - - PositionSource { - // NOTE: The source will not reset the position when we lose the signal. - // This shouldn't be a big problem as we are course enough. - // If we ever need street level updates then this will be an issue. + CameraPositionSource { id: positionSource active: settings.useGps // TODO: we cannot bind to cam.running because camera will stop @@ -118,18 +113,18 @@ CameraWindow { country: geocode.country city: geocode.city suburb: geocode.suburb - longitude: positionSource.position.coordinate.longitude - longitudeValid: positionSource.position.longitudeValid && settings.useGps - latitude: positionSource.position.coordinate.latitude - latitudeValid: positionSource.position.latitudeValid && settings.useGps - elevation: positionSource.position.coordinate.altitude - elevationValid: positionSource.position.altitudeValid && settings.useGps + longitude: positionSource.longitude + longitudeValid: positionSource.longitudeValid && settings.useGps + latitude: positionSource.latitude + latitudeValid: positionSource.latitudeValid && settings.useGps + elevation: positionSource.altitude + elevationValid: positionSource.altitudeValid && settings.useGps orientation: orientation.orientation artist: settings.creatorName captureDirection: compass.direction captureDirectionValid: compass.directionValid - horizontalError: positionSource.position.horizontalAccuracy - horizontalErrorValid: positionSource.position.horizontalAccuracyValid && settings.useGps + horizontalError: positionSource.horizontalAccuracy + horizontalErrorValid: positionSource.horizontalAccuracyValid && settings.useGps dateTimeEnabled: true } -- 2.34.1