Commit 9dcfa761 authored by Gus Grubba's avatar Gus Grubba

Merge branch 'DNSLookup' of https://github.com/mavlink/qgroundcontrol into cameraControl

parents 9e04bc16 09fcec33
......@@ -114,6 +114,8 @@ LinuxBuild {
libQt5PrintSupport.so.5 \
libQt5Qml.so.5 \
libQt5Quick.so.5 \
libQt5QuickControls2.so.5 \
libQt5QuickTemplates2.so.5 \
libQt5QuickWidgets.so.5 \
libQt5SerialPort.so.5 \
libQt5Sql.so.5 \
......
......@@ -36,7 +36,7 @@ QGCTextField {
fact.value = text
} else {
_validateString = text
qgcView.showDialog(validationErrorDialogComponent, qsTr("Invalid Value"), qgcView.showDialogDefaultWidth, StandardButton.Save)
qgcView.showDialog(validationErrorDialogComponent, qsTr("Invalid Value"), qgcView.showDialogDefaultWidth, StandardButton.Save | StandardButton.Cancel)
}
} else {
fact.value = text
......
......@@ -27,6 +27,7 @@ Rectangle {
border.width: 1
border.color: _isSatellite ? qgcPal.mapWidgetBorderLight : qgcPal.mapWidgetBorderDark
property var _qgcView: qgcView
property real _innerRadius: (width - (_topBottomMargin * 3)) / 4
property real _outerRadius: _innerRadius + _topBottomMargin
property real _defaultSize: ScreenTools.defaultFontPixelHeight * (9)
......@@ -94,7 +95,7 @@ Rectangle {
anchors.margins: 1
anchors.left: parent.left
anchors.right: parent.right
qgcView: root.qgcView
qgcView: root._qgcView
textColor: qgcPal.text
backgroundColor: qgcPal.window
maxHeight: _availableValueHeight
......
......@@ -60,14 +60,14 @@ AppLogModel::AppLogModel() : QStringListModel()
connect(this, &AppLogModel::emitLog, this, &AppLogModel::threadsafeLog, contype);
}
void AppLogModel::writeMessages(const QUrl dest_file)
void AppLogModel::writeMessages(const QString dest_file)
{
const QString writebuffer(stringList().join('\n').append('\n'));
QtConcurrent::run([dest_file, writebuffer] {
emit debug_model->writeStarted();
bool success = false;
QFile file(dest_file.toLocalFile());
QFile file(dest_file);
if (file.open(QIODevice::WriteOnly | QIODevice::Text)) {
QTextStream out(&file);
out << writebuffer;
......
......@@ -23,7 +23,7 @@ class AppLogModel : public QStringListModel
{
Q_OBJECT
public:
Q_INVOKABLE void writeMessages(const QUrl dest_file);
Q_INVOKABLE void writeMessages(const QString dest_file);
static void log(const QString message);
signals:
......
......@@ -118,7 +118,7 @@ QGCView {
selectExisting: false
title: qsTr("Select log save file")
onAcceptedForSave: {
debugMessageModel.writeMessages(fileUrl);
debugMessageModel.writeMessages(file);
visible = false;
}
}
......
......@@ -11,6 +11,7 @@ import QtQuick 2.3
import QtQuick.Controls 1.2
import QtQuick.Layouts 1.2
import QGroundControl 1.0
import QGroundControl.Controls 1.0
import QGroundControl.Palette 1.0
import QGroundControl.Controllers 1.0
......@@ -28,6 +29,9 @@ QGCViewDialog {
property real _editFieldWidth: ScreenTools.defaultFontPixelWidth * 20
property bool _longDescriptionAvailable: fact.longDescription != ""
property bool _editingParameter: fact.componentId != 0
property bool _allowForceSave: QGroundControl.corePlugin.showAdvancedUI || !_editingParameter
property bool _allowDefaultReset: fact.defaultValueAvailable && (QGroundControl.corePlugin.showAdvancedUI || !_editingParameter)
ParameterEditorController { id: controller; factPanel: parent }
......@@ -49,11 +53,18 @@ QGCViewDialog {
hideDialog()
} else {
validationError.text = errorString
forceSave.visible = true
if (_allowForceSave) {
forceSave.visible = true
}
}
}
}
function reject() {
fact.valueChanged(fact.value)
hideDialog();
}
function bitmaskValue() {
var value = 0;
for (var i = 0; i < fact.bitmaskValues.length; ++i) {
......@@ -68,7 +79,9 @@ QGCViewDialog {
Component.onCompleted: {
if (validate) {
validationError.text = fact.validate(validateValue, false /* convertOnly */)
forceSave.visible = true
if (_allowForceSave) {
forceSave.visible = true
}
}
}
......@@ -109,7 +122,7 @@ QGCViewDialog {
QGCButton {
anchors.baseline: valueField.baseline
visible: fact.defaultValueAvailable
visible: _allowDefaultReset
text: qsTr("Reset to default")
onClicked: {
......@@ -195,7 +208,7 @@ QGCViewDialog {
QGCLabel {
text: qsTr("Default: ") + fact.defaultValueString
visible: fact.defaultValueAvailable
visible: _allowDefaultReset
}
}
......
......@@ -52,6 +52,7 @@ QGCCacheWorker::QGCCacheWorker()
, _defaultCount(0)
, _lastUpdate(0)
, _updateTimeout(SHORT_TIMEOUT)
, _hostLookupID(0)
{
}
......@@ -73,6 +74,9 @@ QGCCacheWorker::setDatabaseFile(const QString& path)
void
QGCCacheWorker::quit()
{
if(_hostLookupID) {
QHostInfo::abortHostLookup(_hostLookupID);
}
_mutex.lock();
while(_taskQueue.count()) {
QGCMapTask* task = _taskQueue.dequeue();
......@@ -1055,12 +1059,24 @@ QGCCacheWorker::_createDB(QSqlDatabase* db, bool createDefault)
void
QGCCacheWorker::_testInternet()
{
QTcpSocket socket;
socket.connectToHost("www.github.com", 80);
if (socket.waitForConnected(2500)) {
qCDebug(QGCTileCacheLog) << "Yes Internet Access";
emit internetStatus(true);
return;
if(!_hostLookupID) {
_hostLookupID = QHostInfo::lookupHost("www.github.com", this, SLOT(_lookupReady(QHostInfo)));
}
}
//-----------------------------------------------------------------------------
void
QGCCacheWorker::_lookupReady(QHostInfo info)
{
_hostLookupID = 0;
if(info.error() == QHostInfo::NoError && info.addresses().size()) {
QTcpSocket socket;
socket.connectToHost(info.addresses().first(), 80);
if (socket.waitForConnected(2000)) {
qCDebug(QGCTileCacheLog) << "Yes Internet Access";
emit internetStatus(true);
return;
}
}
qWarning() << "No Internet Access";
emit internetStatus(false);
......
......@@ -26,6 +26,7 @@
#include <QWaitCondition>
#include <QMutexLocker>
#include <QtSql/QSqlDatabase>
#include <QHostInfo>
#include "QGCLoggingCategory.h"
......@@ -49,6 +50,9 @@ public:
protected:
void run ();
private slots:
void _lookupReady (QHostInfo info);
private:
void _saveTile (QGCMapTask* mtask);
void _getTile (QGCMapTask* mtask);
......@@ -93,6 +97,7 @@ private:
quint32 _defaultCount;
time_t _lastUpdate;
int _updateTimeout;
int _hostLookupID;
};
#endif // QGC_TILE_CACHE_WORKER_H
......@@ -331,12 +331,14 @@ QGCView {
id: panel
anchors.fill: parent
Map {
id: _map
anchors.fill: parent
center: QGroundControl.flightMapPosition
visible: false
FlightMap {
id: _map
anchors.fill: parent
visible: false
allowGCSLocationCenter: true
allowVehicleLocationCenter: false
gesture.flickDeceleration: 3000
mapName: "OfflineMap"
property bool isSatelliteMap: activeMapType.name.indexOf("Satellite") > -1 || activeMapType.name.indexOf("Hybrid") > -1
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment