diff options
Diffstat (limited to 'tests/applications/positioning_backend/widget.cpp')
-rw-r--r-- | tests/applications/positioning_backend/widget.cpp | 188 |
1 files changed, 0 insertions, 188 deletions
diff --git a/tests/applications/positioning_backend/widget.cpp b/tests/applications/positioning_backend/widget.cpp deleted file mode 100644 index ea1739de..00000000 --- a/tests/applications/positioning_backend/widget.cpp +++ /dev/null @@ -1,188 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2016 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the QtPositioning module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:GPL-EXCEPT$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3 as published by the Free Software -** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ -#include "widget.h" -#include "ui_widget.h" -#include <QGeoPositionInfoSource> -#include <QDebug> - -Widget::Widget(LogWidget *logWidget, QWidget *parent) : - QWidget(parent), - log(logWidget), - ui(new Ui::Widget) -{ - ui->setupUi(this); - qDebug() << "Available:" << QGeoPositionInfoSource::availableSources(); - m_posSource = QGeoPositionInfoSource::createDefaultSource(this); - if (!m_posSource) - qFatal("No Position Source created!"); - connect(m_posSource, SIGNAL(positionUpdated(QGeoPositionInfo)), - this, SLOT(positionUpdated(QGeoPositionInfo))); - - connect(ui->horizontalSlider, SIGNAL(valueChanged(int)), - this, SLOT(setInterval(int))); - - ui->groupBox->setLayout(ui->gridLayout); - ui->horizontalSlider->setMinimum(m_posSource->minimumUpdateInterval()); - ui->labelTimeOut->setVisible(false); - - connect(m_posSource, SIGNAL(errorOccurred(QGeoPositionInfoSource::Error)), - this, SLOT(errorChanged(QGeoPositionInfoSource::Error))); - connect(m_posSource, &QGeoPositionInfoSource::supportedPositioningMethodsChanged, - this, [this]() { - auto methods = m_posSource->supportedPositioningMethods(); - const QString status = QStringLiteral("Satellite: %1 ").arg(bool(methods & QGeoPositionInfoSource::SatellitePositioningMethods)) - + QStringLiteral("Non-Satellite: %1").arg(bool(methods & QGeoPositionInfoSource::NonSatellitePositioningMethods)); - - qDebug() << "Available Positioning Methods Changed" << status; - log->appendLog(status); - }); -} - -void Widget::positionUpdated(QGeoPositionInfo gpsPos) -{ - QGeoCoordinate coord = gpsPos.coordinate(); - ui->labelLatitude->setText(QString::number(coord.latitude())); - ui->labelLongitude->setText(QString::number(coord.longitude())); - ui->labelAltitude->setText(QString::number(coord.altitude())); - ui->labelTimeStamp->setText(gpsPos.timestamp().toString()); - if (gpsPos.hasAttribute(QGeoPositionInfo::HorizontalAccuracy)) - ui->labelHAccuracy->setText(QString::number(gpsPos.attribute(QGeoPositionInfo::HorizontalAccuracy))); - else - ui->labelHAccuracy->setText(QStringLiteral("N/A")); - - if (gpsPos.hasAttribute(QGeoPositionInfo::VerticalAccuracy)) - ui->labelVAccuracy->setText(QString::number(gpsPos.attribute(QGeoPositionInfo::VerticalAccuracy))); - else - ui->labelVAccuracy->setText(QStringLiteral("N/A")); - - if (gpsPos.hasAttribute(QGeoPositionInfo::Direction)) - ui->labelDirection->setText(QString::number(gpsPos.attribute(QGeoPositionInfo::Direction))); - else - ui->labelDirection->setText(QStringLiteral("N/A")); - - if (gpsPos.hasAttribute(QGeoPositionInfo::GroundSpeed)) - ui->labelSpeed->setText(QString::number(gpsPos.attribute(QGeoPositionInfo::GroundSpeed))); - else - ui->labelSpeed->setText(QStringLiteral("N/A")); - - log->appendLog(coord.toString()); -} - -void Widget::positionTimedOut() -{ - ui->labelTimeOut->setVisible(true); -} - -void Widget::errorChanged(QGeoPositionInfoSource::Error err) -{ - if (err == QGeoPositionInfoSource::UpdateTimeoutError) { - // handle timeout - positionTimedOut(); - } else { - // handle other errors - ui->labelErrorState->setText(QString::number(err)); - m_posSource->stopUpdates(); - ui->checkBox->setChecked(false); - } -} - -Widget::~Widget() -{ - delete ui; -} - -void Widget::setInterval(int msec) -{ - m_posSource->setUpdateInterval(msec); -} - -void Widget::on_buttonRetrieve_clicked() -{ - // Requesting current position for _one_ time - m_posSource->requestUpdate(10000); -} - -void Widget::on_buttonStart_clicked() -{ - // Either start or stop the current position info source - bool running = ui->checkBox->isChecked(); - if (running) { - ui->checkBox->setChecked(false); - m_posSource->stopUpdates(); - } else { - ui->checkBox->setChecked(true); - m_posSource->startUpdates(); - } -} - -void Widget::on_radioButton_clicked() -{ - m_posSource->setPreferredPositioningMethods(QGeoPositionInfoSource::NoPositioningMethods); -} - -void Widget::on_radioButton_2_clicked() -{ - m_posSource->setPreferredPositioningMethods(QGeoPositionInfoSource::SatellitePositioningMethods); -} - -void Widget::on_radioButton_3_clicked() -{ - m_posSource->setPreferredPositioningMethods(QGeoPositionInfoSource::NonSatellitePositioningMethods); -} - -void Widget::on_radioButton_4_clicked() -{ - m_posSource->setPreferredPositioningMethods(QGeoPositionInfoSource::AllPositioningMethods); -} - -void Widget::on_buttonUpdateSupported_clicked() -{ - QGeoPositionInfoSource::PositioningMethods m = m_posSource->supportedPositioningMethods(); - QString text; - switch (m) { - case QGeoPositionInfoSource::NoPositioningMethods: - text = QStringLiteral("None"); - break; - case QGeoPositionInfoSource::SatellitePositioningMethods: - text = QStringLiteral("Satellite"); - break; - case QGeoPositionInfoSource::NonSatellitePositioningMethods: - text = QStringLiteral("Non Satellite"); - break; - case QGeoPositionInfoSource::AllPositioningMethods: - text = QStringLiteral("All"); - break; - } - - ui->labelSupported->setText(text); -} - -void Widget::on_buttonResetError_clicked() -{ - ui->labelErrorState->setText(QStringLiteral("N/A")); -} |