mirror of
https://bitbucket.org/librepilot/librepilot.git
synced 2025-02-18 08:54:15 +01:00
OP-1245 Added separate spinbox for period when throttled or periodically is chosen.
Added empty placeholder methods for some functions.
This commit is contained in:
parent
cbe4eea01e
commit
d25eb01583
@ -227,6 +227,47 @@ Rectangle {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Component {
|
||||||
|
id: spinnerEditableDelegate
|
||||||
|
Item {
|
||||||
|
|
||||||
|
Text {
|
||||||
|
width: parent.width
|
||||||
|
anchors.left: parent.left
|
||||||
|
anchors.verticalCenter: parent.verticalCenter
|
||||||
|
elide: styleData.elideMode
|
||||||
|
text: styleData.value !== undefined && (logManager.uavoEntries[styleData.row].setting > 1) ?
|
||||||
|
parseInt(logManager.uavoEntries[styleData.row].period) + " ms" : "-"
|
||||||
|
color: styleData.textColor
|
||||||
|
//visible: !styleData.selected && (logManager.uavoEntries[styleData.row].setting <= 1)
|
||||||
|
enabled: (logManager.uavoEntries[styleData.row].setting > 1)
|
||||||
|
}
|
||||||
|
Loader {
|
||||||
|
id: loaderEditor
|
||||||
|
anchors.fill: parent
|
||||||
|
Connections {
|
||||||
|
target: loaderEditor.item
|
||||||
|
onValueChanged: {
|
||||||
|
logManager.uavoEntries[styleData.row].period = loaderEditor.item.value
|
||||||
|
}
|
||||||
|
}
|
||||||
|
sourceComponent: styleData.selected && (logManager.uavoEntries[styleData.row].setting > 1) ? editor : null
|
||||||
|
Component {
|
||||||
|
id: editor
|
||||||
|
SpinBox {
|
||||||
|
id: spinner
|
||||||
|
decimals: 0
|
||||||
|
minimumValue: 0
|
||||||
|
maximumValue: 1000 * 60 * 60 //1h
|
||||||
|
suffix: "ms"
|
||||||
|
stepSize: 10
|
||||||
|
value: styleData.value
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
TableView {
|
TableView {
|
||||||
id: settingsTable
|
id: settingsTable
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
@ -243,7 +284,7 @@ Rectangle {
|
|||||||
TableViewColumn {
|
TableViewColumn {
|
||||||
role: "name";
|
role: "name";
|
||||||
title: qsTr("UAVObject");
|
title: qsTr("UAVObject");
|
||||||
width: 200;
|
width: 250;
|
||||||
delegate:
|
delegate:
|
||||||
Text {
|
Text {
|
||||||
verticalAlignment: Text.AlignVCenter
|
verticalAlignment: Text.AlignVCenter
|
||||||
@ -256,9 +297,16 @@ Rectangle {
|
|||||||
TableViewColumn {
|
TableViewColumn {
|
||||||
role: "setting";
|
role: "setting";
|
||||||
title: qsTr("Settings");
|
title: qsTr("Settings");
|
||||||
width: 200;
|
width: 160;
|
||||||
delegate: comboEditableDelegate
|
delegate: comboEditableDelegate
|
||||||
}
|
}
|
||||||
|
|
||||||
|
TableViewColumn {
|
||||||
|
role: "period";
|
||||||
|
title: qsTr("Period");
|
||||||
|
width: 120;
|
||||||
|
delegate: spinnerEditableDelegate
|
||||||
|
}
|
||||||
}
|
}
|
||||||
RowLayout {
|
RowLayout {
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
@ -268,16 +316,19 @@ Rectangle {
|
|||||||
enabled: !logManager.disableControls && logManager.boardConnected
|
enabled: !logManager.disableControls && logManager.boardConnected
|
||||||
text: qsTr("Load...")
|
text: qsTr("Load...")
|
||||||
activeFocusOnPress: true
|
activeFocusOnPress: true
|
||||||
|
onClicked: logManager.loadSettings()
|
||||||
}
|
}
|
||||||
Button {
|
Button {
|
||||||
enabled: !logManager.disableControls && logManager.boardConnected
|
enabled: !logManager.disableControls && logManager.boardConnected
|
||||||
text: qsTr("Save...")
|
text: qsTr("Save...")
|
||||||
activeFocusOnPress: true
|
activeFocusOnPress: true
|
||||||
|
onClicked: logManager.saveSettings()
|
||||||
}
|
}
|
||||||
Button {
|
Button {
|
||||||
enabled: !logManager.disableControls && logManager.boardConnected
|
enabled: !logManager.disableControls && logManager.boardConnected
|
||||||
text: qsTr("Reset")
|
text: qsTr("Reset")
|
||||||
activeFocusOnPress: true
|
activeFocusOnPress: true
|
||||||
|
onClicked: logManager.resetSettings()
|
||||||
}
|
}
|
||||||
Rectangle {
|
Rectangle {
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
@ -286,11 +337,13 @@ Rectangle {
|
|||||||
enabled: !logManager.disableControls && logManager.boardConnected
|
enabled: !logManager.disableControls && logManager.boardConnected
|
||||||
text: qsTr("Apply to board")
|
text: qsTr("Apply to board")
|
||||||
activeFocusOnPress: true
|
activeFocusOnPress: true
|
||||||
|
onClicked: logManager.applySettingsToBoard()
|
||||||
}
|
}
|
||||||
Button {
|
Button {
|
||||||
enabled: !logManager.disableControls && logManager.boardConnected
|
enabled: !logManager.disableControls && logManager.boardConnected
|
||||||
text: qsTr("Save to board")
|
text: qsTr("Save to board")
|
||||||
activeFocusOnPress: true
|
activeFocusOnPress: true
|
||||||
|
onClicked: logManager.saveSettingsToBoard()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -80,6 +80,9 @@ FlightLogManager::~FlightLogManager()
|
|||||||
while (!m_logEntries.isEmpty()) {
|
while (!m_logEntries.isEmpty()) {
|
||||||
delete m_logEntries.takeFirst();
|
delete m_logEntries.takeFirst();
|
||||||
}
|
}
|
||||||
|
while (!m_uavoEntries.isEmpty()) {
|
||||||
|
delete m_uavoEntries.takeFirst();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void addLogEntries(QQmlListProperty<ExtendedDebugLogEntry> *list, ExtendedDebugLogEntry *entry)
|
void addLogEntries(QQmlListProperty<ExtendedDebugLogEntry> *list, ExtendedDebugLogEntry *entry)
|
||||||
@ -377,6 +380,33 @@ void FlightLogManager::cancelExportLogs()
|
|||||||
m_cancelDownload = true;
|
m_cancelDownload = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void FlightLogManager::loadSettings()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void FlightLogManager::saveSettings()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void FlightLogManager::resetSettings()
|
||||||
|
{
|
||||||
|
foreach (UAVOLogSettingsWrapper *wrapper, m_uavoEntries) {
|
||||||
|
wrapper->setSetting(UAVOLogSettingsWrapper::DISABLED);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void FlightLogManager::applySettingsToBoard()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void FlightLogManager::saveSettingsToBoard()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
void FlightLogManager::updateFlightEntries(quint16 currentFlight)
|
void FlightLogManager::updateFlightEntries(quint16 currentFlight)
|
||||||
{
|
{
|
||||||
Q_UNUSED(currentFlight);
|
Q_UNUSED(currentFlight);
|
||||||
@ -408,8 +438,7 @@ void FlightLogManager::setupUAVOWrappers()
|
|||||||
|
|
||||||
void FlightLogManager::setupLogSettings()
|
void FlightLogManager::setupLogSettings()
|
||||||
{
|
{
|
||||||
m_logSettings << tr("Disabled") << tr("When updated") << tr("Every 10ms") << tr("Every 50ms") << tr("Every 100ms")
|
m_logSettings << tr("Disabled") << tr("When updated") << tr("Throttled") << tr("Periodically");
|
||||||
<< tr("Every 500ms") << tr("Every second") << tr("Every 5s") << tr("Every 10s") << tr("Every 30s") << tr("Every minute");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void FlightLogManager::setupLogStatuses()
|
void FlightLogManager::setupLogStatuses()
|
||||||
@ -495,7 +524,7 @@ UAVOLogSettingsWrapper::UAVOLogSettingsWrapper() : QObject()
|
|||||||
{}
|
{}
|
||||||
|
|
||||||
UAVOLogSettingsWrapper::UAVOLogSettingsWrapper(UAVObject *object) : QObject(),
|
UAVOLogSettingsWrapper::UAVOLogSettingsWrapper(UAVObject *object) : QObject(),
|
||||||
m_object(object), m_setting(DISABLED)
|
m_object(object), m_setting(DISABLED), m_period(0)
|
||||||
{}
|
{}
|
||||||
|
|
||||||
UAVOLogSettingsWrapper::~UAVOLogSettingsWrapper()
|
UAVOLogSettingsWrapper::~UAVOLogSettingsWrapper()
|
||||||
|
@ -46,10 +46,10 @@ class UAVOLogSettingsWrapper : public QObject {
|
|||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
Q_PROPERTY(QString name READ name NOTIFY nameChanged)
|
Q_PROPERTY(QString name READ name NOTIFY nameChanged)
|
||||||
Q_PROPERTY(int setting READ setting WRITE setSetting NOTIFY settingChanged)
|
Q_PROPERTY(int setting READ setting WRITE setSetting NOTIFY settingChanged)
|
||||||
|
Q_PROPERTY(int period READ period WRITE setPeriod NOTIFY periodChanged)
|
||||||
|
|
||||||
public:
|
public:
|
||||||
enum UAVLogSetting {DISABLED = 0, ON_CHANGE, EVERY_10MS, EVERY_50MS, EVERY_100MS,
|
enum UAVLogSetting {DISABLED = 0, ON_CHANGE, THROTTLED, PERIODICALLY};
|
||||||
EVERY_500MS, EVERY_1S, EVERY_5S, EVERY_10S, EVERY_30S, EVERY_1M};
|
|
||||||
|
|
||||||
explicit UAVOLogSettingsWrapper();
|
explicit UAVOLogSettingsWrapper();
|
||||||
explicit UAVOLogSettingsWrapper(UAVObject* object);
|
explicit UAVOLogSettingsWrapper(UAVObject* object);
|
||||||
@ -65,22 +65,37 @@ public:
|
|||||||
return m_setting;
|
return m_setting;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int period() const
|
||||||
|
{
|
||||||
|
return m_period;
|
||||||
|
}
|
||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
void setSetting(int setting)
|
void setSetting(int setting)
|
||||||
{
|
{
|
||||||
if (m_setting != (int)setting) {
|
if (m_setting != setting) {
|
||||||
m_setting = (int)setting;
|
m_setting = setting;
|
||||||
emit settingChanged((int)setting);
|
emit settingChanged(setting);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void setPeriod(int arg)
|
||||||
|
{
|
||||||
|
if (m_period != arg) {
|
||||||
|
m_period = arg;
|
||||||
|
emit periodChanged(arg);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
signals:
|
signals:
|
||||||
void settingChanged(int setting);
|
void settingChanged(int setting);
|
||||||
void nameChanged();
|
void nameChanged(QString name);
|
||||||
|
void periodChanged(int period);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
UAVObject *m_object;
|
UAVObject *m_object;
|
||||||
int m_setting;
|
int m_setting;
|
||||||
|
int m_period;
|
||||||
};
|
};
|
||||||
|
|
||||||
class ExtendedDebugLogEntry : public DebugLogEntry {
|
class ExtendedDebugLogEntry : public DebugLogEntry {
|
||||||
@ -203,6 +218,11 @@ public slots:
|
|||||||
void retrieveLogs(int flightToRetrieve = -1);
|
void retrieveLogs(int flightToRetrieve = -1);
|
||||||
void exportLogs();
|
void exportLogs();
|
||||||
void cancelExportLogs();
|
void cancelExportLogs();
|
||||||
|
void loadSettings();
|
||||||
|
void saveSettings();
|
||||||
|
void resetSettings();
|
||||||
|
void applySettingsToBoard();
|
||||||
|
void saveSettingsToBoard();
|
||||||
|
|
||||||
void setDisableControls(bool arg)
|
void setDisableControls(bool arg)
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user