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/03/14 15:44:09 UTC
qt commit: Notification rework for Harmattan
Updated Branches:
refs/heads/master 4d041b664 -> 7ba449ce9
Notification rework for Harmattan
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/7ba449ce
Tree: http://git-wip-us.apache.org/repos/asf/incubator-cordova-qt/tree/7ba449ce
Diff: http://git-wip-us.apache.org/repos/asf/incubator-cordova-qt/diff/7ba449ce
Branch: refs/heads/master
Commit: 7ba449ce96fcfc7c7db0490b17732c397bff1c3b
Parents: 4d041b6
Author: Longwei Su <lo...@gmail.com>
Authored: Wed Mar 14 10:41:23 2012 -0400
Committer: Longwei Su <lo...@gmail.com>
Committed: Wed Mar 14 10:41:23 2012 -0400
----------------------------------------------------------------------
cordovaqt.pro | 4 +-
qml/main.qml | 1 +
qml/main_harmattan.qml | 71 ++++++++++++++++++++++++++++++++----
src/plugins/compass.cpp | 1 -
src/plugins/notification.cpp | 11 +++---
www/basic.js | 6 ++--
www/js/notification.js | 32 +++++++---------
7 files changed, 89 insertions(+), 37 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-cordova-qt/blob/7ba449ce/cordovaqt.pro
----------------------------------------------------------------------
diff --git a/cordovaqt.pro b/cordovaqt.pro
index 7553de1..ff5c6b5 100644
--- a/cordovaqt.pro
+++ b/cordovaqt.pro
@@ -59,7 +59,7 @@ greaterThan(QT_MAJOR_VERSION, 4) {
QT += declarative
QT += webkit
CONFIG += mobility qdeclarative-boostable
- MOBILITY += feedback location systeminfo sensors
+ MOBILITY += feedback location systeminfo sensors multimedia
} else {
message("Qt4 build")
message("Non-harmattan build")
@@ -74,7 +74,7 @@ greaterThan(QT_MAJOR_VERSION, 4) {
QT += declarative
QT += webkit
CONFIG += mobility
- MOBILITY += feedback location systeminfo sensors
+ MOBILITY += feedback location systeminfo sensors multimedia
}
# Please do not modify the following two lines. Required for deployment.
http://git-wip-us.apache.org/repos/asf/incubator-cordova-qt/blob/7ba449ce/qml/main.qml
----------------------------------------------------------------------
diff --git a/qml/main.qml b/qml/main.qml
index eea7a02..0c8ebd6 100644
--- a/qml/main.qml
+++ b/qml/main.qml
@@ -24,6 +24,7 @@ Flickable {
settings.localStorageDatabaseEnabled: true
settings.offlineStorageDatabaseEnabled: true
settings.localContentCanAccessRemoteUrls: true
+ settings.developerExtrasEnabled: true
javaScriptWindowObjects: [QtObject{
WebView.windowObjectName: "qmlWrapper"
http://git-wip-us.apache.org/repos/asf/incubator-cordova-qt/blob/7ba449ce/qml/main_harmattan.qml
----------------------------------------------------------------------
diff --git a/qml/main_harmattan.qml b/qml/main_harmattan.qml
index 6ee533f..974044b 100644
--- a/qml/main_harmattan.qml
+++ b/qml/main_harmattan.qml
@@ -35,17 +35,26 @@ PageStackWindow {
settings.localStorageDatabaseEnabled: true
settings.offlineStorageDatabaseEnabled: true
settings.localContentCanAccessRemoteUrls: true
+ settings.developerExtrasEnabled: true
javaScriptWindowObjects: [QtObject{
- WebView.windowObjectName: "qmlWrapper"
-
- function callPluginFunction(pluginName, functionName, parameters) {
- parameters = eval("("+parameters+")")
- CordovaWrapper.execMethodOld(pluginName, functionName, parameters)
- }
- }]
+ WebView.windowObjectName: "qmlWrapper"
+
+ function callPluginFunction(pluginName, functionName, parameters) {
+ parameters = eval("("+parameters+")")
+ CordovaWrapper.execMethodOld(pluginName, functionName, parameters)
+ }
+ function callConfirm(message){
+ comfirmText.text = message;
+ myConfirm.open();
+ }
+ }]
onLoadFinished: cordova.loadFinished(true)
onLoadFailed: cordova.loadFinished(false)
+ onAlert: {
+ alertText.text = message
+ myalert.open()
+ }
Connections {
target: cordova
@@ -59,9 +68,55 @@ PageStackWindow {
CordovaWrapper.addPlugin(pluginName, pluginObject)
}
}
+
+ Dialog {
+ id: myalert
+ content:Item {
+ height: 50
+ width: parent.width
+ Text {
+ id: alertText
+ font.pixelSize: 22
+ anchors.centerIn: parent
+ color: "white"
+ text: "Hello"
+ }
+ }
+
+ buttons: ButtonRow {
+ style: ButtonStyle { }
+ anchors.horizontalCenter: parent.horizontalCenter
+ Button {text: "OK"; onClicked: myalert.accept()}
+ }
+ }
+
+ Dialog {
+ id: myConfirm
+ property string js: "Notification.Callback"
+ content:Item {
+ height: 50
+ width: parent.width
+ Text {
+ id: comfirmText
+ font.pixelSize: 22
+ anchors.centerIn: parent
+ color: "white"
+ text: "confirm"
+ }
+ }
+
+ buttons: ButtonRow {
+ style: ButtonStyle { }
+ anchors.horizontalCenter: parent.horizontalCenter
+ Button {text: "OK"; onClicked:myConfirm.accept()}
+ Button {text: "Cancel"; onClicked:myConfirm.reject()}
+ }
+ onAccepted: cordova.execJS(js + "(1)")
+ onRejected: cordova.execJS(js + "(2)")
+ }
}
- }
+ }
}
}
http://git-wip-us.apache.org/repos/asf/incubator-cordova-qt/blob/7ba449ce/src/plugins/compass.cpp
----------------------------------------------------------------------
diff --git a/src/plugins/compass.cpp b/src/plugins/compass.cpp
index 54571ff..8cd9142 100644
--- a/src/plugins/compass.cpp
+++ b/src/plugins/compass.cpp
@@ -16,7 +16,6 @@
#include "compass.h"
#include "../pluginregistry.h"
-#include <QCompass>
Compass* Compass::m_compass = new Compass();
http://git-wip-us.apache.org/repos/asf/incubator-cordova-qt/blob/7ba449ce/src/plugins/notification.cpp
----------------------------------------------------------------------
diff --git a/src/plugins/notification.cpp b/src/plugins/notification.cpp
index 6294b0c..23eda1e 100644
--- a/src/plugins/notification.cpp
+++ b/src/plugins/notification.cpp
@@ -20,7 +20,7 @@
#include <QApplication>
#include <QFeedbackHapticsEffect>
-
+#include <QtMultimediaKit/QMediaPlayer>
#include <QDebug>
#ifdef QTM_NAMESPACE
@@ -43,10 +43,11 @@ Notification::Notification() : CPlugin(){
void Notification::beep( int scId, int ecId, int p_times ) {
Q_UNUSED(scId)
Q_UNUSED(ecId)
-
- for( int i = 0; i < p_times; i++ ) {
- QApplication::beep();
- }
+ Q_UNUSED(p_times)
+ QMediaPlayer* player = new QMediaPlayer;
+ player->setVolume(100);
+ player->setMedia(QUrl::fromLocalFile("/usr/share/sounds/ui-tones/snd_default_beep.wav"));
+ player->play();
}
/**
http://git-wip-us.apache.org/repos/asf/incubator-cordova-qt/blob/7ba449ce/www/basic.js
----------------------------------------------------------------------
diff --git a/www/basic.js b/www/basic.js
index 3ce3f66..0122382 100644
--- a/www/basic.js
+++ b/www/basic.js
@@ -47,9 +47,9 @@ function test_alert_confirm()
}, "title", "buttonName");
navigator.notification.confirm("This is a confirm.",
function onConfirm(button) {
- if ( button === 0) {
- alert('User input: No');
- } else {alert('User input: Yes');}
+ if ( button === 1) {
+ alert('User input: YES');
+ } else if( button === 2) {alert('User input: No');}
}, "title", "buttonName");
}
http://git-wip-us.apache.org/repos/asf/incubator-cordova-qt/blob/7ba449ce/www/js/notification.js
----------------------------------------------------------------------
diff --git a/www/js/notification.js b/www/js/notification.js
index 22ce934..38a014b 100644
--- a/www/js/notification.js
+++ b/www/js/notification.js
@@ -21,33 +21,29 @@
function Notification() {
}
+Notification.Callback = function() {};
+
Notification.prototype.alert = function( message, alertCallback, title, buttonNamne ) {
- alert( message );
- alertCallback();
-}
+ alert( message );
+ alertCallback();
+ }
Notification.prototype.confirm = function( message, confirmCallback, title, buttonLabels ) {
- var result = confirm( message );
- if( result ) {
- result = 1;
- }
- else {
- result = 0;
- }
- confirmCallback(result);
-}
+ Notification.Callback = confirmCallback;
+ window.qmlWrapper.callConfirm(message);
+ }
Notification.prototype.beep = function( times ) {
- Cordova.exec( null, null, "com.cordova.Notification", "beep", [times] );
-}
+ Cordova.exec( null, null, "com.cordova.Notification", "beep", [times] );
+ }
Notification.prototype.vibrate = function( milliseconds ) {
- Cordova.exec( null, null, "com.cordova.Notification", "vibrate", [milliseconds] );
-}
+ Cordova.exec( null, null, "com.cordova.Notification", "vibrate", [milliseconds] );
+ }
/**
* Add the notification object to the navigator
*/
Cordova.addConstructor( "com.cordova.Notification", function () {
- navigator.notification = new Notification();
- } );
+ navigator.notification = new Notification();
+ } );