You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cordova.apache.org by lo...@apache.org on 2012/05/09 08:46:49 UTC
qt commit: camera , accelerater , compass all passed;
fixes for contact:find
Updated Branches:
refs/heads/master 3ad4f1c5f -> 0006871a4
camera , accelerater , compass all passed; fixes for contact:find
Project: http://git-wip-us.apache.org/repos/asf/incubator-cordova-qt/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-cordova-qt/commit/0006871a
Tree: http://git-wip-us.apache.org/repos/asf/incubator-cordova-qt/tree/0006871a
Diff: http://git-wip-us.apache.org/repos/asf/incubator-cordova-qt/diff/0006871a
Branch: refs/heads/master
Commit: 0006871a4e62d89b0946950726f73ac6518647dc
Parents: 3ad4f1c
Author: Longwei Su <lo...@apache.org>
Authored: Wed May 9 02:46:04 2012 -0400
Committer: Longwei Su <lo...@apache.org>
Committed: Wed May 9 02:46:04 2012 -0400
----------------------------------------------------------------------
src/plugins/contacts.cpp | 5 +-
src/plugins/fileapi.cpp | 9 +--
www/js/accelerometer.js | 28 +++++----
www/js/camera.js | 11 +++-
www/js/compass.js | 138 ++++++++++++++++++++---------------------
www/js/contacts.js | 58 +++++++++++------
6 files changed, 137 insertions(+), 112 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-cordova-qt/blob/0006871a/src/plugins/contacts.cpp
----------------------------------------------------------------------
diff --git a/src/plugins/contacts.cpp b/src/plugins/contacts.cpp
index 87a3135..b84267d 100644
--- a/src/plugins/contacts.cpp
+++ b/src/plugins/contacts.cpp
@@ -306,7 +306,10 @@ void Contacts::removeContact(int scId, int ecId, const QString &localId)
void Contacts::findContacts(int scId, int ecId, const QStringList &fields, const QString &filter, bool multiple)
{
qDebug() << Q_FUNC_INFO << filter << fields << multiple;
- Q_UNUSED(ecId);
+// Q_UNUSED(ecId);
+ if(fields.length() <= 0){
+ callback(ecId, "ContactError.INVALID_ARGUMENT_ERROR");
+ }
QContactUnionFilter unionFilter;
http://git-wip-us.apache.org/repos/asf/incubator-cordova-qt/blob/0006871a/src/plugins/fileapi.cpp
----------------------------------------------------------------------
diff --git a/src/plugins/fileapi.cpp b/src/plugins/fileapi.cpp
index 2d007db..04e8041 100644
--- a/src/plugins/fileapi.cpp
+++ b/src/plugins/fileapi.cpp
@@ -38,7 +38,7 @@ FileAPI::FileAPI() : CPlugin() {
* LocalFileSystem.requestFileSystem - http://www.w3.org/TR/file-system-api/#widl-LocalFileSystem-requestFileSystem
*/
void FileAPI::requestFileSystem( int scId, int ecId, unsigned short p_type ) {
- // Q_UNUSED(ecId)
+ Q_UNUSED(ecId)
QDir dir;
@@ -53,14 +53,9 @@ void FileAPI::requestFileSystem( int scId, int ecId, unsigned short p_type ) {
this->callback( scId, "FileSystem.cast( 'temporary', '" + dir.dirName() + "', '" + dir.absolutePath() + "/' )" );
} else if (p_type == 1){
this->callback( scId, "FileSystem.cast( 'persistent', '" + dir.dirName() + "', '" + dir.absolutePath() + "/' )" );
- } else if (p_type == -1){
+ } else {
this->callback( ecId, "FileError.cast( FileError.SYNTAX_ERR )" );
}
- else {
- this->callback(ecId, "FileSystem.cast( 'ERROR', '" + dir.dirName() + "', '" + dir.absolutePath() + "/' )" );
- }
-
-
}
/**
http://git-wip-us.apache.org/repos/asf/incubator-cordova-qt/blob/0006871a/www/js/accelerometer.js
----------------------------------------------------------------------
diff --git a/www/js/accelerometer.js b/www/js/accelerometer.js
index 278e724..2eb1bef 100644
--- a/www/js/accelerometer.js
+++ b/www/js/accelerometer.js
@@ -17,16 +17,12 @@
//accelerometer interface http://docs.phonegap.com/en/1.0.0/phonegap_accelerometer_accelerometer.md.html
-function Acceleration() {
-};
-
-Acceleration.cast = function( p_acceleration) {
- var acceleration = new Acceleration();
- acceleration.x = p_acceleration.x;
- acceleration.y = p_acceleration.y;
- acceleration.z = p_acceleration.z;
- acceleration.timestamp = p_acceleration.timestamp;
- return acceleration;
+function Acceleration(p_x,p_y,p_z,p_ts) {
+ this.x = p_x || 0;
+ this.y = p_y || 0;
+ this.z = p_z || 0;
+ this.timestamp = p_ts || 0;
+ return this;
};
Acceleration.prototype.x = null;
@@ -34,14 +30,22 @@ Acceleration.prototype.y = null;
Acceleration.prototype.z = null;
Acceleration.prototype.timestamp = null;
-Accelerometer.prototype.watchIds = [];
+Acceleration.cast = function( p_acceleration) {
+ var acceleration = new Acceleration(p_acceleration.x,
+ p_acceleration.y,
+ p_acceleration.z,
+ p_acceleration.timestamp);
+ return acceleration;
+};
+
+
/**
* Accelerometer interface
*/
function Accelerometer() {
};
-
+Accelerometer.prototype.watchIds = [];
Accelerometer.prototype.getCurrentAcceleration = function( successCallback, errorCallback) {
// Check the callbacks
http://git-wip-us.apache.org/repos/asf/incubator-cordova-qt/blob/0006871a/www/js/camera.js
----------------------------------------------------------------------
diff --git a/www/js/camera.js b/www/js/camera.js
index 7938c75..69a8713 100644
--- a/www/js/camera.js
+++ b/www/js/camera.js
@@ -1,4 +1,9 @@
function Camera(){
+ this.DestinationType = Camera.DestinationType;
+ this.PictureSourceType = Camera.PictureSourceType;
+ this.EncodingType = Camera.EncodingType;
+ this.MediaType = Camera.MediaType;
+ return this;
}
Camera.DestinationType = {
@@ -18,7 +23,11 @@ Camera.EncodingType = {
PNG : 1 // Return PNG encoded image
};
-
+Camera.MediaType = {
+ PICTURE : 0,
+ VIDEO : 1,
+ ALLMEDIA: 2
+};
function CameraOptions() {
};
http://git-wip-us.apache.org/repos/asf/incubator-cordova-qt/blob/0006871a/www/js/compass.js
----------------------------------------------------------------------
diff --git a/www/js/compass.js b/www/js/compass.js
index 6f38d40..2dab0d9 100644
--- a/www/js/compass.js
+++ b/www/js/compass.js
@@ -16,26 +16,24 @@
//compass interface http://docs.phonegap.com/en/1.0.0/phonegap_compass_compass.md.html
-
-function CompassHeading() {
-};
-
-
-CompassHeading.cast = function( p_heading, p_trueHeading, p_accuracy, timestamp) {
- var heading = new CompassHeading();
- heading.magneticHeading = p_heading;
- heading.trueHeading = p_trueHeading;
- heading.headingAccuracy = p_accuracy;
- heading.timestamp = timestamp;
- return heading;
+function CompassHeading(p_heading, p_trueHeading, p_accuracy, timestamp){
+ this.magneticHeading = p_heading || 0;
+ this.trueHeading = p_trueHeading || 0;
+ this.headingAccuracy = p_accuracy || 0;
+ this.timestamp = timestamp || 0;
+return this;
};
-
CompassHeading.prototype.magneticHeading = 0;
CompassHeading.prototype.trueHeading = 0;
CompassHeading.prototype.headingAccuracy = 0;
CompassHeading.prototype.timestamp = 0;
+CompassHeading.cast = function(heading, trueHeading, accuracy, timestamp){
+ var that = new CompassHeading(heading, trueHeading, accuracy, timestamp);
+return that;
+};
+
//CompassError
@@ -43,12 +41,12 @@ function CompassError() {
};
CompassError.cast = function( p_code, p_message ) {
- var CompassError = new CompassError();
- CompassError.code = p_code;
- CompassError.message = p_message;
+ var CompassError = new CompassError();
+ CompassError.code = p_code;
+ CompassError.message = p_message;
- return CompassError;
-};
+ return CompassError;
+ };
CompassError.COMPASS_INTERNAL_ERR = 0;
CompassError.COMPASS_NOT_SUPPORTED = 20;
@@ -72,64 +70,64 @@ Compass.prototype.watchIds = [];
Compass.prototype.cachedHeading = null;
Compass.prototype.getCurrentHeading = function( successCallback, errorCallback, options ) {
- // Check the callbacks
- if( typeof successCallback !== "function" ) return;
- if( typeof errorCallback !== "function" ) errorCallback = function() {};
- var headingOptions = new HeadingOptions();
-
-// // Check the timestamp
-// if( this.cachedHeading !== null &&
-// (this.cachedHeading.timestamp <= (new Date()).getTime) ) {
-// successCallback( this.cachedHeading );
-// return;
-// }
-
- // Call the native function and query for a new heading
- var me = this;
- Cordova.exec( function( p_heading ) {
- received = true;
- me.cachedHeading = p_heading;
- successCallback( p_heading );
- }, errorCallback, "com.cordova.Compass", "getCurrentHeading", [ headingOptions ] );
- return heading = CompassHeading.cast(me.cachedHeading);
-};
+ // Check the callbacks
+ if( typeof successCallback !== "function" ) return;
+ if( typeof errorCallback !== "function" ) errorCallback = function() {};
+ var headingOptions = new HeadingOptions();
+
+ // // Check the timestamp
+ // if( this.cachedHeading !== null &&
+ // (this.cachedHeading.timestamp <= (new Date()).getTime) ) {
+ // successCallback( this.cachedHeading );
+ // return;
+ // }
+
+ // Call the native function and query for a new heading
+ var me = this;
+ Cordova.exec( function( p_heading ) {
+ received = true;
+ me.cachedHeading = p_heading;
+ successCallback( p_heading );
+ }, errorCallback, "com.cordova.Compass", "getCurrentHeading", [ headingOptions ] );
+ return me.cachedHeading;
+ };
Compass.prototype.watchHeading = function( successCallback, errorCallback, options ) {
- // Check the callbacks
- if( typeof successCallback !== "function" ) return;
- if( typeof errorCallback !== "function" ) errorCallback = function() {};
-
- var watchId = this.watchIds.length + 1; // +1 in order to avoid 0 as watchId
- this.watchIds[watchId] = true;
- var me = this;
-
- function doWatch() {
- me.getCurrentHeading( function( p_heading ) {
- if( !me.watchIds[watchId] ) return;
- successCallback( p_heading );
- // Wait some time before starting again
- setTimeout( doWatch, 100 );
- }, function( p_headingError ) {
- if( !me.watchIds[watchId] ) return;
-
- errorCallback( p_headingError );
- // Wait some time before starting again
- setTimeout( doWatch, 100 );
- }, options );
- }
-
- // Start watching for heading changes (slight delay, in order to simulate asynchronous behaviour)
- setTimeout( doWatch, 100 );
-
- return watchId;
-};
+ // Check the callbacks
+ if( typeof successCallback !== "function" ) return;
+ if( typeof errorCallback !== "function" ) errorCallback = function() {};
+
+ var watchId = this.watchIds.length + 1; // +1 in order to avoid 0 as watchId
+ this.watchIds[watchId] = true;
+ var me = this;
+
+ function doWatch() {
+ me.getCurrentHeading( function( p_heading ) {
+ if( !me.watchIds[watchId] ) return;
+ successCallback( p_heading );
+ // Wait some time before starting again
+ setTimeout( doWatch, 100 );
+ }, function( p_headingError ) {
+ if( !me.watchIds[watchId] ) return;
+
+ errorCallback( p_headingError );
+ // Wait some time before starting again
+ setTimeout( doWatch, 100 );
+ }, options );
+ }
+
+ // Start watching for heading changes (slight delay, in order to simulate asynchronous behaviour)
+ setTimeout( doWatch, 100 );
+
+ return watchId;
+ };
Compass.prototype.clearWatch = function( watchId ) {
- this.watchIds[watchId] = false;
-};
+ this.watchIds[watchId] = false;
+ };
/**
* Add the compass object to the navigator
*/
Cordova.addConstructor( "com.cordova.Compass", function () {
- navigator.compass = new Compass();} );
+ navigator.compass = new Compass();} );
http://git-wip-us.apache.org/repos/asf/incubator-cordova-qt/blob/0006871a/www/js/contacts.js
----------------------------------------------------------------------
diff --git a/www/js/contacts.js b/www/js/contacts.js
index 7f483a9..ba7baf1 100644
--- a/www/js/contacts.js
+++ b/www/js/contacts.js
@@ -40,7 +40,7 @@ ContactField.create = function(obj) {
result.value = obj.value
result.pref = obj.pref
return result
-}
+ }
ContactField.prototype.type = ""
ContactField.prototype.value = ""
@@ -54,7 +54,7 @@ ContactFindOptions.create = function(obj) {
var result = new ContactFindOptions()
result.filter = obj.filter
result.multiple = obj.multiple
- return result
+ return result;
}
ContactFindOptions.prototype.filter = ""
@@ -94,7 +94,7 @@ ContactName.create = function(obj) {
else if (result.honorificSuffix !== "")
formattedArr.push(result.honorificSuffix)
- result.formatted = formattedArr.join(" ")
+ // result.formatted = formattedArr.join(" ")
return result
}
@@ -141,24 +141,39 @@ ContactError.PERMISSION_DENIED_ERROR = 20
ContactError.prototype.code = ContactError.UNKNOWN_ERROR
-function Contact() {
- this.name = new ContactName()
- this.phoneNumbers = []
- this.emails = []
- this.addresses = []
- this.ims = []
- this.organizations = []
- this.photos = []
- this.categories = []
- this.urls = []
+function Contact(p_id, p_displayName, p_name, p_nickname,
+ p_phoneNumbers,
+ p_emails,
+ p_addresses,
+ p_ims,
+ p_organizations,
+ p_birthday,
+ p_note,
+ p_photos,
+ p_categories,
+ p_urls) {
+ this.id = p_id || "";
+ this.displayName = p_displayName || "";
+ this.name = new ContactName(p_name);
+ this.nickname = p_nickname || "";
+ this.phoneNumbers = p_phoneNumbers || []
+ this.emails = p_emails || []
+ this.addresses = p_addresses || []
+ this.ims = p_ims || []
+ this.organizations = p_organizations || []
+ this.birthday = p_birthday || ""
+ this.note = p_note || ""
+ this.photos = p_photos || []
+ this.categories = p_categories || []
+ this.urls = p_urls || []
}
Contact.create = function(obj) {
var result = new Contact()
result.id = obj.id
result.displayName = obj.displayName
- result.name = ContactName.create(obj.name || obj.displayName)
- result.nickname = obj.nickname
+ result.name = ContactName.create(obj.name)
+ result.nickname = obj.nickname || null
var subObj
for (subObj in obj.phoneNumbers)
result.phoneNumbers.push(ContactField.create(obj.phoneNumbers[subObj]))
@@ -214,7 +229,7 @@ Contact.prototype.remove = function(contactSuccess,contactError) {
Cordova.exec( contactSuccess, contactError, "com.cordova.Contacts", "removeContact", [ this.id ] )
console.log("Contact.remove 3")
-}
+ }
Contact.prototype.save = function(contactSuccess,contactError) {
console.log("Contact.save 1")
@@ -240,9 +255,10 @@ ContactsManager.prototype.create = function(properties) {
ContactsManager.prototype.find = function(contactFields, contactSuccess, contactError, contactFindOptions) {
// Check the callbacks
- if( typeof contactSuccess !== "function" ) return
- if( typeof contactError !== "function" ) contactError = function() {}
-
+ if( typeof contactSuccess !== "function" ) {throw "no callback";}
+ if( typeof contactError !== "function" ) {
+ contactError = function() {}
+ }
Cordova.exec( contactSuccess, contactError, "com.cordova.Contacts", "findContacts", [ contactFields, contactFindOptions.filter, contactFindOptions.multiple ] )
}
@@ -250,5 +266,5 @@ ContactsManager.prototype.find = function(contactFields, contactSuccess, contact
* Add the ContactsManager object to the navigator
*/
Cordova.addConstructor( "com.cordova.Contacts", function () {
- navigator.contacts = new ContactsManager()
- } );
+ navigator.contacts = new ContactsManager()
+ } );