From f8c199468aad83ae962841ddfb17362eb6b2e937 Mon Sep 17 00:00:00 2001 From: Lorenz Meier Date: Thu, 2 May 2013 01:29:03 +0200 Subject: [PATCH] Usability fixes on status bar --- files/styles/style-indoor.css | 17 ++++++++++++----- src/ui/QGCMAVLinkLogPlayer.cc | 6 ++++++ src/ui/QGCMAVLinkLogPlayer.ui | 2 +- src/ui/QGCStatusBar.cc | 2 +- src/ui/QGCVehicleConfig.cc | 26 +++++++++++++++++++++----- 5 files changed, 41 insertions(+), 12 deletions(-) diff --git a/files/styles/style-indoor.css b/files/styles/style-indoor.css index f3bf5e05b..301738be3 100644 --- a/files/styles/style-indoor.css +++ b/files/styles/style-indoor.css @@ -178,12 +178,7 @@ QDoubleSpinBox::down-button { } QPushButton { - /*font-weight: bold; - min-height: 18px; - max-height: 18px; - min-width: 60px;*/ min-height: 20px; - /*min-width: 24px;*/ max-height: 20px; border: 1px solid #465158; margin: 1px; @@ -193,6 +188,10 @@ QPushButton { background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #59666f, stop: 1 #414B52); } +QPushButton:disabled { + background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #232228, stop: 1 #020208); +} + QPushButton:checked { background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #09A2B2, stop: 1 #414B52); } @@ -214,6 +213,10 @@ QToolButton { background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #59666f, stop: 1 #414B52); } +QToolButton:disabled { + background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #232228, stop: 1 #020208); +} + QToolButton:checked { background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #09A2B2, stop: 1 #414B52); } @@ -435,6 +438,10 @@ QLabel { background-color: transparent; } +QLabel:disabled { + color: #353535; +} + QLabel#toolBarNameLabel { font: bold 16px; color: #3C7B9E; diff --git a/src/ui/QGCMAVLinkLogPlayer.cc b/src/ui/QGCMAVLinkLogPlayer.cc index 0740626b0..bc7a9d975 100644 --- a/src/ui/QGCMAVLinkLogPlayer.cc +++ b/src/ui/QGCMAVLinkLogPlayer.cc @@ -48,6 +48,9 @@ QGCMAVLinkLogPlayer::QGCMAVLinkLogPlayer(MAVLinkProtocol* mavlink, QWidget *pare ui->playButton->setEnabled(false); ui->speedSlider->setEnabled(false); ui->positionSlider->setEnabled(false); + ui->speedLabel->setEnabled(false); + ui->logFileNameLabel->setEnabled(false); + ui->logStatsLabel->setEnabled(false); loadSettings(); } @@ -263,6 +266,9 @@ bool QGCMAVLinkLogPlayer::loadLogFile(const QString& file) ui->playButton->setEnabled(true); ui->speedSlider->setEnabled(true); ui->positionSlider->setEnabled(true); + ui->speedLabel->setEnabled(true); + ui->logFileNameLabel->setEnabled(true); + ui->logStatsLabel->setEnabled(true); // Check if logging is still enabled if (mavlink->loggingEnabled()) diff --git a/src/ui/QGCMAVLinkLogPlayer.ui b/src/ui/QGCMAVLinkLogPlayer.ui index 13598e519..f79503765 100644 --- a/src/ui/QGCMAVLinkLogPlayer.ui +++ b/src/ui/QGCMAVLinkLogPlayer.ui @@ -135,7 +135,7 @@ Select the logfile to replay - Select File + Replay Logfile diff --git a/src/ui/QGCStatusBar.cc b/src/ui/QGCStatusBar.cc index a850cdda4..76cd685c0 100644 --- a/src/ui/QGCStatusBar.cc +++ b/src/ui/QGCStatusBar.cc @@ -61,7 +61,7 @@ void QGCStatusBar::setLogPlayer(QGCMAVLinkLogPlayer* player) this->player = player; addPermanentWidget(player); connect(toggleLoggingButton, SIGNAL(clicked(bool)), this, SLOT(logging(bool))); - + //connect(MainWindow::instance()->getMAVLink(), SIGNAL(loggingChanged(bool)), toggleLoggingButton, SLOT(setChecked(bool))); // XXX Mutex issue if called like this // toggleLoggingButton->blockSignals(true); diff --git a/src/ui/QGCVehicleConfig.cc b/src/ui/QGCVehicleConfig.cc index b4d291707..596a33279 100644 --- a/src/ui/QGCVehicleConfig.cc +++ b/src/ui/QGCVehicleConfig.cc @@ -8,6 +8,9 @@ #endif #include +#include +#include +#include #include "QGCVehicleConfig.h" #include "UASManager.h" @@ -109,20 +112,33 @@ void QGCVehicleConfig::toggleCalibrationRC(bool enabled) void QGCVehicleConfig::setTrimPositions() { - // Set trim for roll, pitch, yaw, throttle - rcTrim[rcMapping[0]] = rcValue[rcMapping[0]]; // roll - rcTrim[rcMapping[1]] = rcValue[rcMapping[1]]; // pitch - rcTrim[rcMapping[2]] = rcValue[rcMapping[2]]; // yaw // Set trim to min if stick is close to min if (abs(rcValue[rcMapping[3]] - rcMin[rcMapping[3]]) < 100) { rcTrim[rcMapping[3]] = rcMin[rcMapping[3]]; // throttle } // Set trim to max if stick is close to max - if (abs(rcValue[rcMapping[3]] - rcMax[rcMapping[3]]) < 100) + else if (abs(rcValue[rcMapping[3]] - rcMax[rcMapping[3]]) < 100) { rcTrim[rcMapping[3]] = rcMax[rcMapping[3]]; // throttle } + else + { + + // Reject + QMessageBox msgBox; + msgBox.setText(tr("Throttle Stick Trim Position Invalid")); + msgBox.setInformativeText(tr("The throttle stick is not in the min position. Please set it to the minimum value")); + msgBox.setStandardButtons(QMessageBox::Ok); + msgBox.setDefaultButton(QMessageBox::Ok); + (void)msgBox.exec(); + } + + // Set trim for roll, pitch, yaw, throttle + rcTrim[rcMapping[0]] = rcValue[rcMapping[0]]; // roll + rcTrim[rcMapping[1]] = rcValue[rcMapping[1]]; // pitch + rcTrim[rcMapping[2]] = rcValue[rcMapping[2]]; // yaw + rcTrim[rcMapping[4]] = ((rcMax[rcMapping[4]] - rcMin[rcMapping[4]]) / 2.0f) + rcMin[rcMapping[4]]; // mode sw rcTrim[rcMapping[5]] = ((rcMax[rcMapping[5]] - rcMin[rcMapping[5]]) / 2.0f) + rcMin[rcMapping[5]]; // aux 1 rcTrim[rcMapping[6]] = ((rcMax[rcMapping[6]] - rcMin[rcMapping[6]]) / 2.0f) + rcMin[rcMapping[6]]; // aux 2 -- 2.22.0