Пример #1
0
/*!
    \since 4.7

    Overrides the reported network accessibility.  If \a accessible is NotAccessible the reported
    network accessiblity will always be NotAccessible.  Otherwise the reported network
    accessibility will reflect the actual device state.
*/
void QNetworkAccessManager::setNetworkAccessible(QNetworkAccessManager::NetworkAccessibility accessible)
{
    Q_D(QNetworkAccessManager);

    if (d->networkAccessible != accessible) {
        NetworkAccessibility previous = networkAccessible();
        d->networkAccessible = accessible;
        NetworkAccessibility current = networkAccessible();
        if (previous != current)
            emit networkAccessibleChanged(current);
    }
}
Пример #2
0
void Tab::assignWebView(QWebView *view)
{
	WebView = view;
	connect(WebView,SIGNAL(titleChanged(QString)),this,SLOT(setText(QString)));
	connect(WebView,SIGNAL(iconChanged()),this,SLOT(setTabIcon()));
	connect(WebView,SIGNAL(loadProgress(int)),this,SLOT(loadProgress(int)));
	connect(WebView,SIGNAL(loadStarted()),this,SLOT(loadStarted()));
	connect(WebView,SIGNAL(loadFinished(bool)),this,SLOT(loadFinished(bool)));
        connect(WebView->page(),SIGNAL(downloadRequested(QNetworkRequest)),this,SLOT(startDownload(QNetworkRequest)));
	connect(WebView->page(),SIGNAL(unsupportedContent(QNetworkReply*)),this,SLOT(startDownload(QNetworkReply*)));
	connect(stopAction,SIGNAL(triggered()),WebView,SLOT(stop()));
	connect(WebView->page()->networkAccessManager(),SIGNAL(networkAccessibleChanged(QNetworkAccessManager::NetworkAccessibility)),this,SLOT(showAccessError()));
	connect(WebView->page()->networkAccessManager(),SIGNAL(sslErrors(QNetworkReply*,const QList<QSslError> &)),this,SLOT(showSSLerror()));
}
QPushbulletHandler::QPushbulletHandler(QString apiKey)
    : m_NetworkManager()
    , m_WebSocket()
    , m_URLContacts("https://api.pushbullet.com/v2/contacts")
    , m_URLDevices("https://api.pushbullet.com/v2/devices")
    , m_URLMe("https://api.pushbullet.com/v2/users/me")
    , m_URLPushes("https://api.pushbullet.com/v2/pushes")
    , m_URLUploadRequest("https://api.pushbullet.com/v2/upload-request")
    , m_APIKey(apiKey)
    , m_NetworkAccessibility(QNetworkAccessManager::NetworkAccessibility::UnknownAccessibility)
{
    //Connect the QNetworkAccessManager signals
    connect(&m_NetworkManager, SIGNAL(finished(QNetworkReply *)), this, SLOT(handleNetworkData(QNetworkReply *)));
    connect(&m_NetworkManager, SIGNAL(networkSessionConnected()), this, SLOT(sessionConnected()));
    connect(&m_NetworkManager, SIGNAL(networkAccessibleChanged(QNetworkAccessManager::NetworkAccessibility)), this
            , SLOT(handleNetworkAccessibilityChange(QNetworkAccessManager::NetworkAccessibility)));
}
Пример #4
0
void tst_QNetworkAccessManager::networkAccessible()
{
    QNetworkAccessManager manager;

    qRegisterMetaType<QNetworkAccessManager::NetworkAccessibility>("QNetworkAccessManager::NetworkAccessibility");

    QSignalSpy spy(&manager,
                   SIGNAL(networkAccessibleChanged(QNetworkAccessManager::NetworkAccessibility)));

    QCOMPARE(manager.networkAccessible(), QNetworkAccessManager::UnknownAccessibility);

    manager.setNetworkAccessible(QNetworkAccessManager::NotAccessible);

    QCOMPARE(spy.count(), 1);
    QCOMPARE(spy.takeFirst().at(0).value<QNetworkAccessManager::NetworkAccessibility>(),
             QNetworkAccessManager::NotAccessible);
    QCOMPARE(manager.networkAccessible(), QNetworkAccessManager::NotAccessible);

    manager.setNetworkAccessible(QNetworkAccessManager::Accessible);

    QCOMPARE(spy.count(), 1);
    QCOMPARE(spy.takeFirst().at(0).value<QNetworkAccessManager::NetworkAccessibility>(),
             QNetworkAccessManager::UnknownAccessibility);
    QCOMPARE(manager.networkAccessible(), QNetworkAccessManager::UnknownAccessibility);

    QNetworkConfigurationManager configManager;
    QNetworkConfiguration defaultConfig = configManager.defaultConfiguration();
    if (defaultConfig.isValid()) {
        manager.setConfiguration(defaultConfig);

        QCOMPARE(spy.count(), 1);
        QCOMPARE(spy.takeFirst().at(0).value<QNetworkAccessManager::NetworkAccessibility>(),
                 QNetworkAccessManager::Accessible);
        QCOMPARE(manager.networkAccessible(), QNetworkAccessManager::Accessible);

        manager.setNetworkAccessible(QNetworkAccessManager::NotAccessible);

        QCOMPARE(spy.count(), 1);
        QCOMPARE(QNetworkAccessManager::NetworkAccessibility(spy.takeFirst().at(0).toInt()),
                 QNetworkAccessManager::NotAccessible);
        QCOMPARE(manager.networkAccessible(), QNetworkAccessManager::NotAccessible);
    }
}
Пример #5
0
DebugUnit::DebugUnit(QObject *parent) : QObject(parent)
{
    connect(&nam, SIGNAL(networkAccessibleChanged(QNetworkAccessManager::NetworkAccessibility)),
            this, SLOT(networkAccessibleChanged(QNetworkAccessManager::NetworkAccessibility)));

}
Пример #6
0
void Tasty::_init()
{
#ifdef QT_DEBUG
    static bool inited = false;
    Q_ASSERT(!inited);
    inited = true;

    auto now = QDateTime::currentMSecsSinceEpoch();
#endif

    Bayes::instance(this);

    _engine     = new QQmlApplicationEngine(this);
    _settings   = new Settings(this);
    _manager    = _engine->networkAccessManager();
    _pusher     = new PusherClient(this);
    _dataCache  = new TastyDataCache;

    _entryImageWidth   = _settings->maxImageWidth();
    _commentImageWidth = _entryImageWidth;

    Q_TEST(connect(qApp, SIGNAL(applicationStateChanged(Qt::ApplicationState)),
                   this, SLOT(_saveOrReconnect(Qt::ApplicationState))));

    Q_TEST(connect(_manager, SIGNAL(networkAccessibleChanged(QNetworkAccessManager::NetworkAccessibility)),
                   this, SLOT(_showNetAccessibility(QNetworkAccessManager::NetworkAccessibility))));

    Q_TEST(connect(_pusher, SIGNAL(unreadChats(int)),          this, SLOT(_setUnreadChats(int))));
    Q_TEST(connect(_pusher, SIGNAL(unreadNotifications(int)),  this, SLOT(_setUnreadNotifications(int))));
    Q_TEST(connect(_pusher, SIGNAL(unreadFriendsEntry(int)),   this, SLOT(_incUnreadFriendsEntries())));

    QQuickStyle::setStyle("Material");

    qmlRegisterType<FeedModel>          ("org.binque.taaasty", 1, 0, "FeedModel");
    qmlRegisterType<CalendarModel>      ("org.binque.taaasty", 1, 0, "CalendarModel");
    qmlRegisterType<CommentsModel>      ("org.binque.taaasty", 1, 0, "CommentsModel");
    qmlRegisterType<AttachedImagesModel>("org.binque.taaasty", 1, 0, "AttachedImagesModel");
    qmlRegisterType<UsersModel>         ("org.binque.taaasty", 1, 0, "UsersModel");
    qmlRegisterType<MessagesModel>      ("org.binque.taaasty", 1, 0, "MessagesModel");
    qmlRegisterType<FlowsModel>         ("org.binque.taaasty", 1, 0, "FlowsModel");
    qmlRegisterType<TagsModel>          ("org.binque.taaasty", 1, 0, "TagsModel");

    qmlRegisterType<Entry>          ("org.binque.taaasty", 1, 0, "TlogEntry");
    qmlRegisterType<CalendarEntry>  ("org.binque.taaasty", 1, 0, "CalendarEntry");
    qmlRegisterType<Comment>        ("org.binque.taaasty", 1, 0, "Comment");
    qmlRegisterType<User>           ("org.binque.taaasty", 1, 0, "User");
    qmlRegisterType<Author>         ("org.binque.taaasty", 1, 0, "Author");
    qmlRegisterType<Tlog>           ("org.binque.taaasty", 1, 0, "Tlog");
    qmlRegisterType<Rating>         ("org.binque.taaasty", 1, 0, "Rating");
    qmlRegisterType<AttachedImage>  ("org.binque.taaasty", 1, 0, "AttachedImage");
    qmlRegisterType<Media>          ("org.binque.taaasty", 1, 0, "Media");
    qmlRegisterType<Notification>   ("org.binque.taaasty", 1, 0, "Notification");
    qmlRegisterType<Message>        ("org.binque.taaasty", 1, 0, "Message");
    qmlRegisterType<MessageBase>    ("org.binque.taaasty", 1, 0, "MessageBase");
    qmlRegisterType<Conversation>   ("org.binque.taaasty", 1, 0, "Chat");
    qmlRegisterType<Flow>           ("org.binque.taaasty", 1, 0, "Flow");

    qmlRegisterType<TextHandler>    ("org.binque.taaasty", 1, 0, "TextHandler");
    qmlRegisterType<Poster>         ("org.binque.taaasty", 1, 0, "Poster");

    qmlRegisterType<CachedImage>("ImageCache", 2, 0, "CachedImage");

    auto root = _engine->rootContext();
    root->setContextProperty("Tasty", this);
    root->setContextProperty("Settings", _settings);

    auto notifs = NotificationsModel::instance(this);
    root->setContextProperty("NotifsModel", notifs);

    auto friendActivity = NotificationsModel::friendActivity(this);
    root->setContextProperty("FriendActivityModel", friendActivity);

    auto chats = ChatsModel::instance(this);
    root->setContextProperty("ChatsModel", chats);

    auto cache = CacheManager::instance(_manager);
    cache->setMaxWidth(_settings->maxImageWidth());
    cache->setAutoloadOverWifi(_settings->loadImagesOverWifi());
    cache->setMaxLoadSize(_settings->maxLoadImageSize());
    root->setContextProperty("Cache", cache);

    Q_TEST(QObject::connect(_settings, SIGNAL(loadImagesOverWifiChanged(bool)), cache, SLOT(setAutoloadOverWifi(bool))));
    Q_TEST(QObject::connect(_settings, SIGNAL(maxLoadImageSizeChanged(int)),    cache, SLOT(setMaxLoadSize(int))));

    auto bayes = Bayes::instance();
    root->setContextProperty("Bayes", bayes);

    auto trainer = bayes->trainer();
    root->setContextProperty("Trainer", trainer);

#ifdef Q_OS_ANDROID
    float density = 160;
#else
    float density = 267; // test
#endif

    double scale = density < 180 ? 1 :
                   density < 270 ? 1.5 :
                   density < 360 ? 2 : 3;

    root->setContextProperty("mm", density / 25.4); // N900: 1 mm = 10.5 px; Q10: 12.9
    root->setContextProperty("pt", 1);
    root->setContextProperty("dp", scale); // N900: 1.5; Q10: 2
    root->setContextProperty("sp", density / 160); // scaleable pixels

    root->setContextProperty("builtAt", QString::fromLatin1(__DATE__));

    _engine->setBaseUrl(QStringLiteral("qrc:/qml/"));
    _engine->load(QUrl(QStringLiteral("main.qml")));

#ifdef QT_DEBUG
    auto ms = QDateTime::currentMSecsSinceEpoch() - now;
    qDebug() << "Started in" << ms << "ms";
#endif
}
void tst_QNetworkAccessManager::networkAccessible()
{
#ifndef QT_NO_BEARERMANAGEMENT
    QNetworkAccessManager manager;

    qRegisterMetaType<QNetworkAccessManager::NetworkAccessibility>("QNetworkAccessManager::NetworkAccessibility");

    QSignalSpy spy(&manager,
                   SIGNAL(networkAccessibleChanged(QNetworkAccessManager::NetworkAccessibility)));

    // if there is no session, we cannot know in which state we are in
    QNetworkAccessManager::NetworkAccessibility initialAccessibility =
            manager.networkAccessible();

    if (initialAccessibility == QNetworkAccessManager::UnknownAccessibility)
          QSKIP("Unknown accessibility", SkipAll);

    QCOMPARE(manager.networkAccessible(), initialAccessibility);

    manager.setNetworkAccessible(QNetworkAccessManager::NotAccessible);

    int expectedCount = (initialAccessibility == QNetworkAccessManager::Accessible) ? 1 : 0;
    QCOMPARE(spy.count(), expectedCount);
    if (expectedCount > 0)
        QCOMPARE(spy.takeFirst().at(0).value<QNetworkAccessManager::NetworkAccessibility>(),
                 QNetworkAccessManager::NotAccessible);
    QCOMPARE(manager.networkAccessible(), QNetworkAccessManager::NotAccessible);

    manager.setNetworkAccessible(QNetworkAccessManager::Accessible);

    QCOMPARE(spy.count(), expectedCount);
    if (expectedCount > 0)
        QCOMPARE(spy.takeFirst().at(0).value<QNetworkAccessManager::NetworkAccessibility>(),
                 initialAccessibility);
    QCOMPARE(manager.networkAccessible(), initialAccessibility);

    QNetworkConfigurationManager configManager;
    QNetworkConfiguration defaultConfig = configManager.defaultConfiguration();
    if (defaultConfig.isValid()) {
        manager.setConfiguration(defaultConfig);

        QCOMPARE(spy.count(), 0);

        if (defaultConfig.state().testFlag(QNetworkConfiguration::Active))
            QCOMPARE(manager.networkAccessible(), QNetworkAccessManager::Accessible);
        else
            QCOMPARE(manager.networkAccessible(), QNetworkAccessManager::NotAccessible);

        manager.setNetworkAccessible(QNetworkAccessManager::NotAccessible);

        if (defaultConfig.state().testFlag(QNetworkConfiguration::Active)) {
            QCOMPARE(spy.count(), 1);
            QCOMPARE(QNetworkAccessManager::NetworkAccessibility(spy.takeFirst().at(0).toInt()),
                     QNetworkAccessManager::NotAccessible);
        } else {
            QCOMPARE(spy.count(), 0);
        }
    }
    QCOMPARE(manager.networkAccessible(), QNetworkAccessManager::NotAccessible);
#endif
}