summaryrefslogtreecommitdiffstats
path: root/demos/embedded
diff options
context:
space:
mode:
authorQt Continuous Integration System <qt-info@nokia.com>2010-07-29 10:06:33 (GMT)
committerQt Continuous Integration System <qt-info@nokia.com>2010-07-29 10:06:33 (GMT)
commit11468d1086315c2d4f77f3747488e423d499bf56 (patch)
tree4ee4c62b9de4f4810972f065b77537c8126384fa /demos/embedded
parentdbaaece5f5e27503b3b6703265f2b2bd63147b82 (diff)
parent84294f47e55073914bcbcdbaf85df1a0e2e2d845 (diff)
downloadQt-11468d1086315c2d4f77f3747488e423d499bf56.zip
Qt-11468d1086315c2d4f77f3747488e423d499bf56.tar.gz
Qt-11468d1086315c2d4f77f3747488e423d499bf56.tar.bz2
Merge branch 'qt-master-from-4.7' of scm.dev.nokia.troll.no:qt/qt-integration into master-integration
* 'qt-master-from-4.7' of scm.dev.nokia.troll.no:qt/qt-integration: (407 commits) Cherry pick fix for MOBILITY-1234 from Qt Mobility. Cherry pick fix for QTMOBILITY-408 from Qt Mobility. Cherry pick fix for MOBILITY-1194 from Qt Mobility. Fix compilation error on Symbian^4. Fix detection of OCC functionality. Cherry pick fix for MOBILITY-1194 from Qt Mobility. Fix signal emission of QDesktopWidget on Symbian. Don't run the QGL test on systems that does not have GL support. Adding missing image Fixed gcce linker error when linking against s60main built by armcc. Make it possible again to build Qt without webkit Fixed plugin build key for Symbian builds under Linux. Remove an useless assert from comp_func_SourceOver_sse2() QScriptEngineAgent: recompile all the function when installing a debugger. QScriptDeclarativeObject: we need to save the current stack pointer. QScriptValue::objectId(): do not assert if the value is not a cell Implement the composition mode "Plus" with SSE2 Clean the CompositionFunction tables of drawhelper Fix QT_NO_DATESTRING Check the gesturemanager pointer before accessing it. ...
Diffstat (limited to 'demos/embedded')
-rw-r--r--demos/embedded/anomaly/anomaly.pro2
-rw-r--r--demos/embedded/anomaly/src/BrowserView.cpp33
-rw-r--r--demos/embedded/anomaly/src/BrowserView.h3
-rw-r--r--demos/embedded/lightmaps/lightmaps.cpp49
-rw-r--r--demos/embedded/lightmaps/lightmaps.pro2
-rw-r--r--demos/embedded/qmlcalculator/deployment.pri1
-rw-r--r--demos/embedded/qmlclocks/deployment.pri1
-rw-r--r--demos/embedded/qmldialcontrol/deployment.pri1
-rw-r--r--demos/embedded/qmleasing/deployment.pri1
-rw-r--r--demos/embedded/qmlflickr/deployment.pri1
-rw-r--r--demos/embedded/qmlflickr/qmlflickr.cpp63
-rw-r--r--demos/embedded/qmlflickr/qmlflickr.pro2
-rw-r--r--demos/embedded/qmlphotoviewer/deployment.pri1
-rw-r--r--demos/embedded/qmlphotoviewer/qmlphotoviewer.cpp63
-rw-r--r--demos/embedded/qmlphotoviewer/qmlphotoviewer.pro2
-rw-r--r--demos/embedded/qmltwitter/deployment.pri1
-rw-r--r--demos/embedded/qmltwitter/qmltwitter.cpp63
-rw-r--r--demos/embedded/qmltwitter/qmltwitter.pro2
18 files changed, 184 insertions, 107 deletions
diff --git a/demos/embedded/anomaly/anomaly.pro b/demos/embedded/anomaly/anomaly.pro
index 584e5cd..a786b46 100644
--- a/demos/embedded/anomaly/anomaly.pro
+++ b/demos/embedded/anomaly/anomaly.pro
@@ -26,8 +26,6 @@ RESOURCES += src/anomaly.qrc
symbian {
TARGET.UID3 = 0xA000CF71
include($$QT_SOURCE_TREE/demos/symbianpkgrules.pri)
- INCLUDEPATH += $$QT_SOURCE_TREE/examples/network/qftp/
- LIBS += -lesock -lcommdb -linsock # For IAP selection
TARGET.CAPABILITY = NetworkServices
TARGET.EPOCHEAPSIZE = 0x20000 0x2000000
}
diff --git a/demos/embedded/anomaly/src/BrowserView.cpp b/demos/embedded/anomaly/src/BrowserView.cpp
index a6e6f7a..73d0b70 100644
--- a/demos/embedded/anomaly/src/BrowserView.cpp
+++ b/demos/embedded/anomaly/src/BrowserView.cpp
@@ -51,10 +51,6 @@
#include "webview.h"
#include "ZoomStrip.h"
-#if defined (Q_OS_SYMBIAN)
-#include "sym_iap_util.h"
-#endif
-
BrowserView::BrowserView(QWidget *parent)
: QWidget(parent)
, m_titleBar(0)
@@ -71,6 +67,26 @@ BrowserView::BrowserView(QWidget *parent)
m_zoomLevels << 100;
m_zoomLevels << 110 << 120 << 133 << 150 << 170 << 200 << 240 << 300;
+ QNetworkConfigurationManager manager;
+ if (manager.capabilities() & QNetworkConfigurationManager::NetworkSessionRequired) {
+ // Get saved network configuration
+ QSettings settings(QSettings::UserScope, QLatin1String("Trolltech"));
+ settings.beginGroup(QLatin1String("QtNetwork"));
+ const QString id =
+ settings.value(QLatin1String("DefaultNetworkConfiguration")).toString();
+ settings.endGroup();
+
+ // If the saved network configuration is not currently discovered use the system
+ // default
+ QNetworkConfiguration config = manager.configurationFromIdentifier(id);
+ if ((config.state() & QNetworkConfiguration::Discovered) !=
+ QNetworkConfiguration::Discovered) {
+ config = manager.defaultConfiguration();
+ }
+
+ m_webView->page()->networkAccessManager()->setConfiguration(config);
+ }
+
QTimer::singleShot(0, this, SLOT(initialize()));
}
@@ -100,9 +116,6 @@ void BrowserView::initialize()
m_webView->setHtml("about:blank");
m_webView->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
m_webView->setFocus();
-#ifdef Q_OS_SYMBIAN
- QTimer::singleShot(0, this, SLOT(setDefaultIap()));
-#endif
}
void BrowserView::start()
@@ -173,12 +186,6 @@ void BrowserView::resizeEvent(QResizeEvent *event)
int zh = m_zoomStrip->sizeHint().height();
m_zoomStrip->move(width() - zw, (height() - zh) / 2);
}
-#ifdef Q_OS_SYMBIAN
-void BrowserView::setDefaultIap()
-{
- qt_SetDefaultIap();
-}
-#endif
void BrowserView::navigate(const QUrl &url)
{
diff --git a/demos/embedded/anomaly/src/BrowserView.h b/demos/embedded/anomaly/src/BrowserView.h
index 5ab1dd7..8981582 100644
--- a/demos/embedded/anomaly/src/BrowserView.h
+++ b/demos/embedded/anomaly/src/BrowserView.h
@@ -63,9 +63,6 @@ public slots:
void navigate(const QUrl &url);
void zoomIn();
void zoomOut();
-#ifdef Q_OS_SYMBIAN
- void setDefaultIap();
-#endif
private slots:
void initialize();
diff --git a/demos/embedded/lightmaps/lightmaps.cpp b/demos/embedded/lightmaps/lightmaps.cpp
index c76aed0..2eb1733 100644
--- a/demos/embedded/lightmaps/lightmaps.cpp
+++ b/demos/embedded/lightmaps/lightmaps.cpp
@@ -43,10 +43,6 @@
#include <QtGui>
#include <QtNetwork>
-#if defined (Q_OS_SYMBIAN)
-#include "sym_iap_util.h"
-#endif
-
#include <math.h>
#ifndef M_PI
@@ -490,6 +486,7 @@ class MapZoom : public QMainWindow
private:
LightMaps *map;
+ QNetworkSession *networkSession;
public:
MapZoom(): QMainWindow(0) {
@@ -526,15 +523,49 @@ public:
menu->addAction(osmAction);
#endif
- QTimer::singleShot(0, this, SLOT(delayedInit()));
+ QNetworkConfigurationManager manager;
+ if (manager.capabilities() & QNetworkConfigurationManager::NetworkSessionRequired) {
+ // Get saved network configuration
+ QSettings settings(QSettings::UserScope, QLatin1String("Trolltech"));
+ settings.beginGroup(QLatin1String("QtNetwork"));
+ const QString id =
+ settings.value(QLatin1String("DefaultNetworkConfiguration")).toString();
+ settings.endGroup();
+
+ // If the saved network configuration is not currently discovered use the system
+ // default
+ QNetworkConfiguration config = manager.configurationFromIdentifier(id);
+ if ((config.state() & QNetworkConfiguration::Discovered) !=
+ QNetworkConfiguration::Discovered) {
+ config = manager.defaultConfiguration();
+ }
+
+ networkSession = new QNetworkSession(config, this);
+ connect(networkSession, SIGNAL(opened()), this, SLOT(sessionOpened()));
+
+ networkSession->open();
+ } else {
+ networkSession = 0;
+ }
}
private slots:
- void delayedInit() {
-#if defined(Q_OS_SYMBIAN)
- qt_SetDefaultIap();
-#endif
+ void sessionOpened() {
+ // Save the used configuration
+ QNetworkConfiguration config = networkSession->configuration();
+ QString id;
+ if (config.type() == QNetworkConfiguration::UserChoice) {
+ id = networkSession->sessionProperty(
+ QLatin1String("UserChoiceConfiguration")).toString();
+ } else {
+ id = config.identifier();
+ }
+
+ QSettings settings(QSettings::UserScope, QLatin1String("Trolltech"));
+ settings.beginGroup(QLatin1String("QtNetwork"));
+ settings.setValue(QLatin1String("DefaultNetworkConfiguration"), id);
+ settings.endGroup();
}
void chooseOslo() {
diff --git a/demos/embedded/lightmaps/lightmaps.pro b/demos/embedded/lightmaps/lightmaps.pro
index ee4cc5a..9d83721 100644
--- a/demos/embedded/lightmaps/lightmaps.pro
+++ b/demos/embedded/lightmaps/lightmaps.pro
@@ -5,8 +5,6 @@ QT += network
symbian {
TARGET.UID3 = 0xA000CF75
include($$QT_SOURCE_TREE/demos/symbianpkgrules.pri)
- INCLUDEPATH += $$QT_SOURCE_TREE/examples/network/qftp/
- LIBS += -lesock -lcommdb -linsock # For IAP selection
TARGET.CAPABILITY = NetworkServices
TARGET.EPOCHEAPSIZE = 0x20000 0x2000000
}
diff --git a/demos/embedded/qmlcalculator/deployment.pri b/demos/embedded/qmlcalculator/deployment.pri
index 53c6dbf..a31303d 100644
--- a/demos/embedded/qmlcalculator/deployment.pri
+++ b/demos/embedded/qmlcalculator/deployment.pri
@@ -1,5 +1,6 @@
qmlcalculator_src = $$PWD/../../declarative/calculator
symbian {
+ load(data_caging_paths)
qmlcalculator_uid3 = A000E3FB
qmlcalculator_files.path = $$APP_PRIVATE_DIR_BASE/$$qmlcalculator_uid3
}
diff --git a/demos/embedded/qmlclocks/deployment.pri b/demos/embedded/qmlclocks/deployment.pri
index 03ba129..0946733 100644
--- a/demos/embedded/qmlclocks/deployment.pri
+++ b/demos/embedded/qmlclocks/deployment.pri
@@ -1,5 +1,6 @@
qmlclocks_src = $$PWD/../../../examples/declarative/toys/clocks
symbian {
+ load(data_caging_paths)
qmlclocks_uid3 = A000E3FC
qmlclocks_files.path = $$APP_PRIVATE_DIR_BASE/$$qmlclocks_uid3
}
diff --git a/demos/embedded/qmldialcontrol/deployment.pri b/demos/embedded/qmldialcontrol/deployment.pri
index 097c74c..e0e72e6 100644
--- a/demos/embedded/qmldialcontrol/deployment.pri
+++ b/demos/embedded/qmldialcontrol/deployment.pri
@@ -1,5 +1,6 @@
qmldialcontrol_src = $$PWD/../../../examples/declarative/ui-components/dialcontrol
symbian {
+ load(data_caging_paths)
qmldialcontrol_uid3 = A000E3FD
qmldialcontrol_files.path = $$APP_PRIVATE_DIR_BASE/$$qmldialcontrol_uid3
}
diff --git a/demos/embedded/qmleasing/deployment.pri b/demos/embedded/qmleasing/deployment.pri
index 47192e6..984f5c8 100644
--- a/demos/embedded/qmleasing/deployment.pri
+++ b/demos/embedded/qmleasing/deployment.pri
@@ -1,5 +1,6 @@
qmleasing_src = $$PWD/../../../examples/declarative/animation/easing
symbian {
+ load(data_caging_paths)
qmleasing_uid3 = A000E3FE
qmleasing_files.path = $$APP_PRIVATE_DIR_BASE/$$qmleasing_uid3
}
diff --git a/demos/embedded/qmlflickr/deployment.pri b/demos/embedded/qmlflickr/deployment.pri
index c8fef1a..b508292 100644
--- a/demos/embedded/qmlflickr/deployment.pri
+++ b/demos/embedded/qmlflickr/deployment.pri
@@ -1,5 +1,6 @@
qmlflickr_src = $$PWD/../../declarative/flickr
symbian {
+ load(data_caging_paths)
qmlflickr_uid3 = A000E3FF
qmlflickr_files.path = $$APP_PRIVATE_DIR_BASE/$$qmlflickr_uid3
}
diff --git a/demos/embedded/qmlflickr/qmlflickr.cpp b/demos/embedded/qmlflickr/qmlflickr.cpp
index 6f0c528..7068f88 100644
--- a/demos/embedded/qmlflickr/qmlflickr.cpp
+++ b/demos/embedded/qmlflickr/qmlflickr.cpp
@@ -40,41 +40,59 @@
****************************************************************************/
#include <QtCore/QFileInfo>
+#include <QtCore/QSettings>
#include <QtGui/QApplication>
#include <QtDeclarative/QDeclarativeView>
#include <QtDeclarative/QDeclarativeEngine>
+#include <QtDeclarative/QDeclarativeNetworkAccessManagerFactory>
+#include <QtNetwork/QNetworkConfiguration>
+#include <QtNetwork/QNetworkConfigurationManager>
+#include <QtNetwork/QNetworkAccessManager>
-#if defined(Q_OS_SYMBIAN)
-#include <QtCore/QTextCodec>
-#include <QtCore/QTimer>
-#include "sym_iap_util.h"
-
-class QmlAppView : public QDeclarativeView
+// Factory to create QNetworkAccessManagers that use the saved network configuration; otherwise
+// the system default.
+class NetworkAccessManagerFactory : public QDeclarativeNetworkAccessManagerFactory
{
-Q_OBJECT
public:
- QmlAppView(QWidget *parent = 0)
- : QDeclarativeView(parent)
- {
- QTimer::singleShot(0, this, SLOT(setDefaultIap()));
- }
+ ~NetworkAccessManagerFactory() { }
-private slots:
- void setDefaultIap()
- {
- qt_SetDefaultIap();
- }
+ QNetworkAccessManager *create(QObject *parent);
};
-#else // Q_OS_SYMBIAN
-typedef QDeclarativeView QmlAppView;
-#endif // Q_OS_SYMBIAN
+
+QNetworkAccessManager *NetworkAccessManagerFactory::create(QObject *parent)
+{
+ QNetworkAccessManager *accessManager = new QNetworkAccessManager(parent);
+
+ QNetworkConfigurationManager manager;
+ if (manager.capabilities() & QNetworkConfigurationManager::NetworkSessionRequired) {
+ // Get saved network configuration
+ QSettings settings(QSettings::UserScope, QLatin1String("Trolltech"));
+ settings.beginGroup(QLatin1String("QtNetwork"));
+ const QString id = settings.value(QLatin1String("DefaultNetworkConfiguration")).toString();
+ settings.endGroup();
+
+ // If the saved network configuration is not currently discovered use the system default
+ QNetworkConfiguration config = manager.configurationFromIdentifier(id);
+ if ((config.state() & QNetworkConfiguration::Discovered) !=
+ QNetworkConfiguration::Discovered) {
+ config = manager.defaultConfiguration();
+ }
+
+ accessManager->setConfiguration(config);
+ }
+
+ return accessManager;
+}
int main(int argc, char *argv[])
{
QApplication application(argc, argv);
+ NetworkAccessManagerFactory networkAccessManagerFactory;
+
const QString mainQmlApp = QLatin1String("flickr.qml");
- QmlAppView view;
+ QDeclarativeView view;
+ view.engine()->setNetworkAccessManagerFactory(&networkAccessManagerFactory);
view.setSource(QUrl(mainQmlApp));
view.setResizeMode(QDeclarativeView::SizeRootObjectToView);
@@ -87,6 +105,3 @@ int main(int argc, char *argv[])
return application.exec();
}
-#if defined(Q_OS_SYMBIAN)
-#include "qmlflickr.moc"
-#endif // Q_OS_SYMBIAN
diff --git a/demos/embedded/qmlflickr/qmlflickr.pro b/demos/embedded/qmlflickr/qmlflickr.pro
index e706134..39b316a 100644
--- a/demos/embedded/qmlflickr/qmlflickr.pro
+++ b/demos/embedded/qmlflickr/qmlflickr.pro
@@ -7,8 +7,6 @@ include($$PWD/deployment.pri)
symbian {
TARGET.UID3 = 0x$$qmlflickr_uid3 # defined in deployment.pri
include($$QT_SOURCE_TREE/demos/symbianpkgrules.pri)
- INCLUDEPATH += $$QT_SOURCE_TREE/examples/network/qftp/
- LIBS += -lesock -lcommdb -linsock # For IAP selection
TARGET.CAPABILITY = NetworkServices
TARGET.EPOCHEAPSIZE = 0x20000 0x2000000
}
diff --git a/demos/embedded/qmlphotoviewer/deployment.pri b/demos/embedded/qmlphotoviewer/deployment.pri
index 128a1f7..35937a8 100644
--- a/demos/embedded/qmlphotoviewer/deployment.pri
+++ b/demos/embedded/qmlphotoviewer/deployment.pri
@@ -1,5 +1,6 @@
qmlphotoviewer_src = $$PWD/../../declarative/photoviewer
symbian {
+ load(data_caging_paths)
qmlphotoviewer_uid3 = A000E400
qmlphotoviewer_files.path = $$APP_PRIVATE_DIR_BASE/$$qmlphotoviewer_uid3
}
diff --git a/demos/embedded/qmlphotoviewer/qmlphotoviewer.cpp b/demos/embedded/qmlphotoviewer/qmlphotoviewer.cpp
index 7889842..2b9db5e 100644
--- a/demos/embedded/qmlphotoviewer/qmlphotoviewer.cpp
+++ b/demos/embedded/qmlphotoviewer/qmlphotoviewer.cpp
@@ -40,41 +40,59 @@
****************************************************************************/
#include <QtCore/QFileInfo>
+#include <QtCore/QSettings>
#include <QtGui/QApplication>
#include <QtDeclarative/QDeclarativeView>
#include <QtDeclarative/QDeclarativeEngine>
+#include <QtDeclarative/QDeclarativeNetworkAccessManagerFactory>
+#include <QtNetwork/QNetworkConfiguration>
+#include <QtNetwork/QNetworkConfigurationManager>
+#include <QtNetwork/QNetworkAccessManager>
-#if defined(Q_OS_SYMBIAN)
-#include <QtCore/QTextCodec>
-#include <QtCore/QTimer>
-#include "sym_iap_util.h"
-
-class QmlAppView : public QDeclarativeView
+// Factory to create QNetworkAccessManagers that use the saved network configuration; otherwise
+// the system default.
+class NetworkAccessManagerFactory : public QDeclarativeNetworkAccessManagerFactory
{
-Q_OBJECT
public:
- QmlAppView(QWidget *parent = 0)
- : QDeclarativeView(parent)
- {
- QTimer::singleShot(0, this, SLOT(setDefaultIap()));
- }
+ ~NetworkAccessManagerFactory() { }
-private slots:
- void setDefaultIap()
- {
- qt_SetDefaultIap();
- }
+ QNetworkAccessManager *create(QObject *parent);
};
-#else // Q_OS_SYMBIAN
-typedef QDeclarativeView QmlAppView;
-#endif // Q_OS_SYMBIAN
+
+QNetworkAccessManager *NetworkAccessManagerFactory::create(QObject *parent)
+{
+ QNetworkAccessManager *accessManager = new QNetworkAccessManager(parent);
+
+ QNetworkConfigurationManager manager;
+ if (manager.capabilities() & QNetworkConfigurationManager::NetworkSessionRequired) {
+ // Get saved network configuration
+ QSettings settings(QSettings::UserScope, QLatin1String("Trolltech"));
+ settings.beginGroup(QLatin1String("QtNetwork"));
+ const QString id = settings.value(QLatin1String("DefaultNetworkConfiguration")).toString();
+ settings.endGroup();
+
+ // If the saved network configuration is not currently discovered use the system default
+ QNetworkConfiguration config = manager.configurationFromIdentifier(id);
+ if ((config.state() & QNetworkConfiguration::Discovered) !=
+ QNetworkConfiguration::Discovered) {
+ config = manager.defaultConfiguration();
+ }
+
+ accessManager->setConfiguration(config);
+ }
+
+ return accessManager;
+}
int main(int argc, char *argv[])
{
QApplication application(argc, argv);
+ NetworkAccessManagerFactory networkAccessManagerFactory;
+
const QString mainQmlApp = QLatin1String("photoviewer.qml");
- QmlAppView view;
+ QDeclarativeView view;
+ view.engine()->setNetworkAccessManagerFactory(&networkAccessManagerFactory);
view.setSource(QUrl(mainQmlApp));
view.setResizeMode(QDeclarativeView::SizeRootObjectToView);
@@ -87,6 +105,3 @@ int main(int argc, char *argv[])
return application.exec();
}
-#if defined(Q_OS_SYMBIAN)
-#include "qmlphotoviewer.moc"
-#endif // Q_OS_SYMBIAN
diff --git a/demos/embedded/qmlphotoviewer/qmlphotoviewer.pro b/demos/embedded/qmlphotoviewer/qmlphotoviewer.pro
index ead5e67..a4234cf 100644
--- a/demos/embedded/qmlphotoviewer/qmlphotoviewer.pro
+++ b/demos/embedded/qmlphotoviewer/qmlphotoviewer.pro
@@ -7,8 +7,6 @@ include($$PWD/deployment.pri)
symbian {
TARGET.UID3 = 0x$$qmlphotoviewer_uid3 # defined in deployment.pri
include($$QT_SOURCE_TREE/demos/symbianpkgrules.pri)
- INCLUDEPATH += $$QT_SOURCE_TREE/examples/network/qftp/
- LIBS += -lesock -lcommdb -linsock # For IAP selection
TARGET.CAPABILITY = NetworkServices
TARGET.EPOCHEAPSIZE = 0x20000 0x2000000
}
diff --git a/demos/embedded/qmltwitter/deployment.pri b/demos/embedded/qmltwitter/deployment.pri
index 40c53ad..4404e33 100644
--- a/demos/embedded/qmltwitter/deployment.pri
+++ b/demos/embedded/qmltwitter/deployment.pri
@@ -1,5 +1,6 @@
qmltwitter_src = $$PWD/../../declarative/twitter
symbian {
+ load(data_caging_paths)
qmltwitter_uid3 = A000E401
qmltwitter_files.path = $$APP_PRIVATE_DIR_BASE/$$qmltwitter_uid3
}
diff --git a/demos/embedded/qmltwitter/qmltwitter.cpp b/demos/embedded/qmltwitter/qmltwitter.cpp
index e30ab24..c53098a4 100644
--- a/demos/embedded/qmltwitter/qmltwitter.cpp
+++ b/demos/embedded/qmltwitter/qmltwitter.cpp
@@ -40,41 +40,59 @@
****************************************************************************/
#include <QtCore/QFileInfo>
+#include <QtCore/QSettings>
#include <QtGui/QApplication>
#include <QtDeclarative/QDeclarativeView>
#include <QtDeclarative/QDeclarativeEngine>
+#include <QtDeclarative/QDeclarativeNetworkAccessManagerFactory>
+#include <QtNetwork/QNetworkConfiguration>
+#include <QtNetwork/QNetworkConfigurationManager>
+#include <QtNetwork/QNetworkAccessManager>
-#if defined(Q_OS_SYMBIAN)
-#include <QtCore/QTextCodec>
-#include <QtCore/QTimer>
-#include "sym_iap_util.h"
-
-class QmlAppView : public QDeclarativeView
+// Factory to create QNetworkAccessManagers that use the saved network configuration; otherwise
+// the system default.
+class NetworkAccessManagerFactory : public QDeclarativeNetworkAccessManagerFactory
{
-Q_OBJECT
public:
- QmlAppView(QWidget *parent = 0)
- : QDeclarativeView(parent)
- {
- QTimer::singleShot(0, this, SLOT(setDefaultIap()));
- }
+ ~NetworkAccessManagerFactory() { }
-private slots:
- void setDefaultIap()
- {
- qt_SetDefaultIap();
- }
+ QNetworkAccessManager *create(QObject *parent);
};
-#else // Q_OS_SYMBIAN
-typedef QDeclarativeView QmlAppView;
-#endif // Q_OS_SYMBIAN
+
+QNetworkAccessManager *NetworkAccessManagerFactory::create(QObject *parent)
+{
+ QNetworkAccessManager *accessManager = new QNetworkAccessManager(parent);
+
+ QNetworkConfigurationManager manager;
+ if (manager.capabilities() & QNetworkConfigurationManager::NetworkSessionRequired) {
+ // Get saved network configuration
+ QSettings settings(QSettings::UserScope, QLatin1String("Trolltech"));
+ settings.beginGroup(QLatin1String("QtNetwork"));
+ const QString id = settings.value(QLatin1String("DefaultNetworkConfiguration")).toString();
+ settings.endGroup();
+
+ // If the saved network configuration is not currently discovered use the system default
+ QNetworkConfiguration config = manager.configurationFromIdentifier(id);
+ if ((config.state() & QNetworkConfiguration::Discovered) !=
+ QNetworkConfiguration::Discovered) {
+ config = manager.defaultConfiguration();
+ }
+
+ accessManager->setConfiguration(config);
+ }
+
+ return accessManager;
+}
int main(int argc, char *argv[])
{
QApplication application(argc, argv);
+ NetworkAccessManagerFactory networkAccessManagerFactory;
+
const QString mainQmlApp = QLatin1String("twitter.qml");
- QmlAppView view;
+ QDeclarativeView view;
+ view.engine()->setNetworkAccessManagerFactory(&networkAccessManagerFactory);
view.setSource(QUrl(mainQmlApp));
view.setResizeMode(QDeclarativeView::SizeRootObjectToView);
@@ -87,6 +105,3 @@ int main(int argc, char *argv[])
return application.exec();
}
-#if defined(Q_OS_SYMBIAN)
-#include "qmltwitter.moc"
-#endif // Q_OS_SYMBIAN
diff --git a/demos/embedded/qmltwitter/qmltwitter.pro b/demos/embedded/qmltwitter/qmltwitter.pro
index 7f9be57..7bd4617 100644
--- a/demos/embedded/qmltwitter/qmltwitter.pro
+++ b/demos/embedded/qmltwitter/qmltwitter.pro
@@ -7,8 +7,6 @@ include($$PWD/deployment.pri)
symbian {
TARGET.UID3 = 0x$$qmltwitter_uid3 # defined in deployment.pri
include($$QT_SOURCE_TREE/demos/symbianpkgrules.pri)
- INCLUDEPATH += $$QT_SOURCE_TREE/examples/network/qftp/
- LIBS += -lesock -lcommdb -linsock # For IAP selection
TARGET.CAPABILITY = NetworkServices
TARGET.EPOCHEAPSIZE = 0x20000 0x2000000
}