Ignore:
Timestamp:
May 5, 2011, 5:36:53 AM (14 years ago)
Author:
Dmitry A. Kuminov
Message:

trunk: Merged in qt 4.7.2 sources from branches/vendor/nokia/qt.

Location:
trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk

  • trunk/examples/network/fortuneclient/client.cpp

    r651 r846  
    11/****************************************************************************
    22**
    3 ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
     3** Copyright (C) 201 Nokia Corporation and/or its subsidiary(-ies).
    44** All rights reserved.
    55** Contact: Nokia Corporation ([email protected])
     
    77** This file is part of the examples of the Qt Toolkit.
    88**
    9 ** $QT_BEGIN_LICENSE:LGPL$
    10 ** Commercial Usage
    11 ** Licensees holding valid Qt Commercial licenses may use this file in
    12 ** accordance with the Qt Commercial License Agreement provided with the
    13 ** Software or, alternatively, in accordance with the terms contained in
    14 ** a written agreement between you and Nokia.
    15 **
    16 ** GNU Lesser General Public License Usage
    17 ** Alternatively, this file may be used under the terms of the GNU Lesser
    18 ** General Public License version 2.1 as published by the Free Software
    19 ** Foundation and appearing in the file LICENSE.LGPL included in the
    20 ** packaging of this file.  Please review the following information to
    21 ** ensure the GNU Lesser General Public License version 2.1 requirements
    22 ** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
    23 **
    24 ** In addition, as a special exception, Nokia gives you certain additional
    25 ** rights.  These rights are described in the Nokia Qt LGPL Exception
    26 ** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
    27 **
    28 ** GNU General Public License Usage
    29 ** Alternatively, this file may be used under the terms of the GNU
    30 ** General Public License version 3.0 as published by the Free Software
    31 ** Foundation and appearing in the file LICENSE.GPL included in the
    32 ** packaging of this file.  Please review the following information to
    33 ** ensure the GNU General Public License version 3.0 requirements will be
    34 ** met: http://www.gnu.org/copyleft/gpl.html.
    35 **
    36 ** If you have questions regarding the use of this file, please contact
    37 ** Nokia at [email protected].
     9** $QT_BEGIN_LICENSE:BSD$
     10** You may use this file under the terms of the BSD license as follows:
     11**
     12** "Redistribution and use in source and binary forms, with or without
     13** modification, are permitted provided that the following conditions are
     14** met:
     15**   * Redistributions of source code must retain the above copyright
     16**     notice, this list of conditions and the following disclaimer.
     17**   * Redistributions in binary form must reproduce the above copyright
     18**     notice, this list of conditions and the following disclaimer in
     19**     the documentation and/or other materials provided with the
     20**     distribution.
     21**   * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
     22**     the names of its contributors may be used to endorse or promote
     23**     products derived from this software without specific prior written
     24**     permission.
     25**
     26** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
     27** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
     28** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
     29** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
     30** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
     31** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
     32** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
     33** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
     34** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
     35** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
     36** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
    3837** $QT_END_LICENSE$
    3938**
     
    4544#include "client.h"
    4645
    47 #ifdef Q_OS_SYMBIAN
    48 #include "sym_iap_util.h"
    49 #endif
    50 
    5146//! [0]
    5247Client::Client(QWidget *parent)
    53     : QDialog(parent)
     48)
    5449{
    5550//! [0]
     
    123118    portLineEdit->setFocus();
    124119
    125 #ifdef Q_OS_SYMBIAN
    126     isDefaultIapSet = false;
    127 #endif
     120    QNetworkConfigurationManager manager;
     121    if (manager.capabilities() & QNetworkConfigurationManager::NetworkSessionRequired) {
     122        // Get saved network configuration
     123        QSettings settings(QSettings::UserScope, QLatin1String("Trolltech"));
     124        settings.beginGroup(QLatin1String("QtNetwork"));
     125        const QString id = settings.value(QLatin1String("DefaultNetworkConfiguration")).toString();
     126        settings.endGroup();
     127
     128        // If the saved network configuration is not currently discovered use the system default
     129        QNetworkConfiguration config = manager.configurationFromIdentifier(id);
     130        if ((config.state() & QNetworkConfiguration::Discovered) !=
     131            QNetworkConfiguration::Discovered) {
     132            config = manager.defaultConfiguration();
     133        }
     134
     135        networkSession = new QNetworkSession(config, this);
     136        connect(networkSession, SIGNAL(opened()), this, SLOT(sessionOpened()));
     137
     138        getFortuneButton->setEnabled(false);
     139        statusLabel->setText(tr("Opening network session."));
     140        networkSession->open();
     141    }
    128142//! [5]
    129143}
     
    134148{
    135149    getFortuneButton->setEnabled(false);
    136 #ifdef Q_OS_SYMBIAN
    137     if(!isDefaultIapSet) {
    138         qt_SetDefaultIap();
    139         isDefaultIapSet = true;
    140     }
    141 #endif
    142150    blockSize = 0;
    143151    tcpSocket->abort();
     
    216224void Client::enableGetFortuneButton()
    217225{
    218     getFortuneButton->setEnabled(!hostLineEdit->text().isEmpty()
    219                                  && !portLineEdit->text().isEmpty());
    220 }
     226    getFortuneButton->setEnabled((!networkSession || networkSession->isOpen()) &&
     227                                 !hostLineEdit->text().isEmpty() &&
     228                                 !portLineEdit->text().isEmpty());
     229
     230}
     231
     232void Client::sessionOpened()
     233{
     234    // Save the used configuration
     235    QNetworkConfiguration config = networkSession->configuration();
     236    QString id;
     237    if (config.type() == QNetworkConfiguration::UserChoice)
     238        id = networkSession->sessionProperty(QLatin1String("UserChoiceConfiguration")).toString();
     239    else
     240        id = config.identifier();
     241
     242    QSettings settings(QSettings::UserScope, QLatin1String("Trolltech"));
     243    settings.beginGroup(QLatin1String("QtNetwork"));
     244    settings.setValue(QLatin1String("DefaultNetworkConfiguration"), id);
     245    settings.endGroup();
     246
     247    statusLabel->setText(tr("This examples requires that you run the "
     248                            "Fortune Server example as well."));
     249
     250    enableGetFortuneButton();
     251}
     252
Note: See TracChangeset for help on using the changeset viewer.