Browse Source

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

QGC4.4
Gus Grubba 8 years ago
parent
commit
9dcfa761c3
  1. 2
      QGCSetup.pri
  2. 2
      src/FactSystem/FactControls/FactTextField.qml
  3. 3
      src/FlightMap/Widgets/QGCInstrumentWidgetAlternate.qml
  4. 4
      src/QmlControls/AppMessages.cc
  5. 2
      src/QmlControls/AppMessages.h
  6. 2
      src/QmlControls/AppMessages.qml
  7. 21
      src/QmlControls/ParameterEditorDialog.qml
  8. 28
      src/QtLocationPlugin/QGCTileCacheWorker.cpp
  9. 5
      src/QtLocationPlugin/QGCTileCacheWorker.h
  10. 12
      src/QtLocationPlugin/QMLControl/OfflineMap.qml

2
QGCSetup.pri

@ -114,6 +114,8 @@ LinuxBuild { @@ -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 \

2
src/FactSystem/FactControls/FactTextField.qml

@ -36,7 +36,7 @@ QGCTextField { @@ -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

3
src/FlightMap/Widgets/QGCInstrumentWidgetAlternate.qml

@ -27,6 +27,7 @@ Rectangle { @@ -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 { @@ -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

4
src/QmlControls/AppMessages.cc

@ -60,14 +60,14 @@ AppLogModel::AppLogModel() : QStringListModel() @@ -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;

2
src/QmlControls/AppMessages.h

@ -23,7 +23,7 @@ class AppLogModel : public QStringListModel @@ -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:

2
src/QmlControls/AppMessages.qml

@ -118,7 +118,7 @@ QGCView { @@ -118,7 +118,7 @@ QGCView {
selectExisting: false
title: qsTr("Select log save file")
onAcceptedForSave: {
debugMessageModel.writeMessages(fileUrl);
debugMessageModel.writeMessages(file);
visible = false;
}
}

21
src/QmlControls/ParameterEditorDialog.qml

@ -11,6 +11,7 @@ import QtQuick 2.3 @@ -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 { @@ -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 { @@ -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 { @@ -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 { @@ -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 { @@ -195,7 +208,7 @@ QGCViewDialog {
QGCLabel {
text: qsTr("Default: ") + fact.defaultValueString
visible: fact.defaultValueAvailable
visible: _allowDefaultReset
}
}

28
src/QtLocationPlugin/QGCTileCacheWorker.cpp

@ -52,6 +52,7 @@ QGCCacheWorker::QGCCacheWorker() @@ -52,6 +52,7 @@ QGCCacheWorker::QGCCacheWorker()
, _defaultCount(0)
, _lastUpdate(0)
, _updateTimeout(SHORT_TIMEOUT)
, _hostLookupID(0)
{
}
@ -73,6 +74,9 @@ QGCCacheWorker::setDatabaseFile(const QString& path) @@ -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) @@ -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);

5
src/QtLocationPlugin/QGCTileCacheWorker.h

@ -26,6 +26,7 @@ @@ -26,6 +26,7 @@
#include <QWaitCondition>
#include <QMutexLocker>
#include <QtSql/QSqlDatabase>
#include <QHostInfo>
#include "QGCLoggingCategory.h"
@ -49,6 +50,9 @@ public: @@ -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: @@ -93,6 +97,7 @@ private:
quint32 _defaultCount;
time_t _lastUpdate;
int _updateTimeout;
int _hostLookupID;
};
#endif // QGC_TILE_CACHE_WORKER_H

12
src/QtLocationPlugin/QMLControl/OfflineMap.qml

@ -331,12 +331,14 @@ QGCView { @@ -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

Loading…
Cancel
Save