examples/network/network-chat/main.cpp
changeset 33 3e2da88830cd
parent 30 5dc02b23752f
equal deleted inserted replaced
30:5dc02b23752f 33:3e2da88830cd
    39 ****************************************************************************/
    39 ****************************************************************************/
    40 
    40 
    41 #include <QApplication>
    41 #include <QApplication>
    42 
    42 
    43 #include "chatdialog.h"
    43 #include "chatdialog.h"
    44 #ifdef Q_OS_SYMBIAN
    44 
    45 #include "sym_iap_util.h"
    45 #include <QtCore/QSettings>
    46 #endif
    46 #include <QtNetwork/QNetworkConfigurationManager>
       
    47 #include <QtNetwork/QNetworkSession>
    47 
    48 
    48 int main(int argc, char *argv[])
    49 int main(int argc, char *argv[])
    49 {
    50 {
    50 #ifdef Q_OS_SYMBIAN
       
    51     qt_SetDefaultIap();
       
    52 #endif
       
    53     QApplication app(argc, argv);
    51     QApplication app(argc, argv);
       
    52 
       
    53     QNetworkConfigurationManager manager;
       
    54     if (manager.capabilities() & QNetworkConfigurationManager::NetworkSessionRequired) {
       
    55         // Get saved network configuration
       
    56         QSettings settings(QSettings::UserScope, QLatin1String("Trolltech"));
       
    57         settings.beginGroup(QLatin1String("QtNetwork"));
       
    58         const QString id = settings.value(QLatin1String("DefaultNetworkConfiguration")).toString();
       
    59         settings.endGroup();
       
    60 
       
    61         // If the saved network configuration is not currently discovered use the system default
       
    62         QNetworkConfiguration config = manager.configurationFromIdentifier(id);
       
    63         if ((config.state() & QNetworkConfiguration::Discovered) !=
       
    64             QNetworkConfiguration::Discovered) {
       
    65             config = manager.defaultConfiguration();
       
    66         }
       
    67 
       
    68         QNetworkSession *networkSession = new QNetworkSession(config, &app);
       
    69         networkSession->open();
       
    70         networkSession->waitForOpened();
       
    71 
       
    72         if (networkSession->isOpen()) {
       
    73             // Save the used configuration
       
    74             QNetworkConfiguration config = networkSession->configuration();
       
    75             QString id;
       
    76             if (config.type() == QNetworkConfiguration::UserChoice) {
       
    77                 id = networkSession->sessionProperty(
       
    78                         QLatin1String("UserChoiceConfiguration")).toString();
       
    79             } else {
       
    80                 id = config.identifier();
       
    81             }
       
    82 
       
    83             QSettings settings(QSettings::UserScope, QLatin1String("Trolltech"));
       
    84             settings.beginGroup(QLatin1String("QtNetwork"));
       
    85             settings.setValue(QLatin1String("DefaultNetworkConfiguration"), id);
       
    86             settings.endGroup();
       
    87         }
       
    88     }
       
    89 
    54     ChatDialog dialog;
    90     ChatDialog dialog;
    55 #ifdef Q_OS_SYMBIAN
    91 #ifdef Q_OS_SYMBIAN
    56     // Make application better looking and more usable on small screen
    92     // Make application better looking and more usable on small screen
    57     dialog.showMaximized();
    93     dialog.showMaximized();
    58 #else
    94 #else