diff --git a/ground/openpilotgcs/src/libs/utils/mylistwidget.h b/ground/openpilotgcs/src/libs/utils/mylistwidget.h
index 40059927e..176063681 100644
--- a/ground/openpilotgcs/src/libs/utils/mylistwidget.h
+++ b/ground/openpilotgcs/src/libs/utils/mylistwidget.h
@@ -42,7 +42,7 @@ class QTCREATOR_UTILS_EXPORT MyListWidget : public QListWidget
{
Q_OBJECT
public:
- MyListWidget(QWidget *parent) : QListWidget(parent), m_iconAbove(false) { }
+ MyListWidget(QWidget *parent) : QListWidget(parent), m_iconAbove(false) {}
void setIconAbove(bool iconAbove) { m_iconAbove = iconAbove; }
protected:
QStyleOptionViewItem viewOptions() const;
diff --git a/ground/openpilotgcs/src/libs/utils/mytabbedstackwidget.cpp b/ground/openpilotgcs/src/libs/utils/mytabbedstackwidget.cpp
index 3db71a316..639052e57 100644
--- a/ground/openpilotgcs/src/libs/utils/mytabbedstackwidget.cpp
+++ b/ground/openpilotgcs/src/libs/utils/mytabbedstackwidget.cpp
@@ -48,20 +48,24 @@ MyTabbedStackWidget::MyTabbedStackWidget(QWidget *parent, bool isVertical, bool
toplevelLayout->addWidget(m_stackWidget);
m_listWidget->setFlow(QListView::TopToBottom);
m_listWidget->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Expanding);
+ m_listWidget->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
} else {
toplevelLayout = new QVBoxLayout;
toplevelLayout->addWidget(m_stackWidget);
toplevelLayout->addWidget(m_listWidget);
m_listWidget->setFlow(QListView::LeftToRight);
m_listWidget->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed);
+ m_listWidget->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
}
- if (m_iconAbove && m_vertical)
+
+ if (m_iconAbove && m_vertical) {
m_listWidget->setFixedWidth(90); // this should be computed instead
+ }
toplevelLayout->setSpacing(0);
toplevelLayout->setContentsMargins(0, 0, 0, 0);
- m_listWidget->setSpacing(0);
m_listWidget->setContentsMargins(0, 0, 0, 0);
+ m_listWidget->setSpacing(0);
m_stackWidget->setContentsMargins(0, 0, 0, 0);
setLayout(toplevelLayout);
diff --git a/ground/openpilotgcs/src/plugins/config/configgadget.qrc b/ground/openpilotgcs/src/plugins/config/configgadget.qrc
index ffdb93e66..532ed8b95 100644
--- a/ground/openpilotgcs/src/plugins/config/configgadget.qrc
+++ b/ground/openpilotgcs/src/plugins/config/configgadget.qrc
@@ -1,23 +1,32 @@
images/help2.png
- images/Airframe.png
- images/Servo.png
images/ahrs-calib.svg
- images/AHRS-v1.3.png
images/paper-plane.svg
images/curve-bg.svg
images/multirotor-shapes.svg
images/ccpm_setup.svg
images/PipXtreme.png
- images/Transmitter.png
images/help.png
images/coptercontrol.svg
- images/hw_config.png
- images/gyroscope.png
- images/TX.svg
images/TX2.svg
- images/camera.png
- images/txpid.png
+ images/output_selected.png
+ images/output_normal.png
+ images/input_selected.png
+ images/input_normal.png
+ images/hardware_normal.png
+ images/hardware_selected.png
+ images/vehicle_normal.png
+ images/vehicle_selected.png
+ images/ins_selected.png
+ images/ins_normal.png
+ images/stabilization_selected.png
+ images/stabilization_normal.png
+ images/autotune_selected.png
+ images/autotune_normal.png
+ images/txpid_selected.png
+ images/txpid_normal.png
+ images/camstab_selected.png
+ images/camstab_normal.png
diff --git a/ground/openpilotgcs/src/plugins/config/configgadgetwidget.cpp b/ground/openpilotgcs/src/plugins/config/configgadgetwidget.cpp
index 5a94ae5b1..12276bbca 100644
--- a/ground/openpilotgcs/src/plugins/config/configgadgetwidget.cpp
+++ b/ground/openpilotgcs/src/plugins/config/configgadgetwidget.cpp
@@ -67,33 +67,61 @@ ConfigGadgetWidget::ConfigGadgetWidget(QWidget *parent) : QWidget(parent)
// *********************
QWidget *qwd;
+ QIcon *icon = new QIcon();
+ icon->addFile(":/configgadget/images/hardware_normal.png", QSize(), QIcon::Normal, QIcon::Off);
+ icon->addFile(":/configgadget/images/hardware_selected.png", QSize(), QIcon::Selected, QIcon::Off);
qwd = new DefaultHwSettingsWidget(this);
- ftw->insertTab(ConfigGadgetWidget::hardware, qwd, QIcon(":/configgadget/images/hw_config.png"), QString("HW Settings"));
+ ftw->insertTab(ConfigGadgetWidget::hardware, qwd, *icon, QString("Hardware"));
+ icon = new QIcon();
+ icon->addFile(":/configgadget/images/vehicle_normal.png", QSize(), QIcon::Normal, QIcon::Off);
+ icon->addFile(":/configgadget/images/vehicle_selected.png", QSize(), QIcon::Selected, QIcon::Off);
qwd = new ConfigVehicleTypeWidget(this);
- ftw->insertTab(ConfigGadgetWidget::aircraft, qwd, QIcon(":/configgadget/images/Airframe.png"), QString("Aircraft"));
+ ftw->insertTab(ConfigGadgetWidget::aircraft, qwd, *icon, QString("Vehicle"));
+ icon = new QIcon();
+ icon->addFile(":/configgadget/images/input_normal.png", QSize(), QIcon::Normal, QIcon::Off);
+ icon->addFile(":/configgadget/images/input_selected.png", QSize(), QIcon::Selected, QIcon::Off);
qwd = new ConfigInputWidget(this);
- ftw->insertTab(ConfigGadgetWidget::input, qwd, QIcon(":/configgadget/images/Transmitter.png"), QString("Input"));
+ ftw->insertTab(ConfigGadgetWidget::input, qwd, *icon, QString("Input"));
+ icon = new QIcon();
+ icon->addFile(":/configgadget/images/output_normal.png", QSize(), QIcon::Normal, QIcon::Off);
+ icon->addFile(":/configgadget/images/output_selected.png", QSize(), QIcon::Selected, QIcon::Off);
qwd = new ConfigOutputWidget(this);
- ftw->insertTab(ConfigGadgetWidget::output, qwd, QIcon(":/configgadget/images/Servo.png"), QString("Output"));
+ ftw->insertTab(ConfigGadgetWidget::output, qwd, *icon, QString("Output"));
+ icon = new QIcon();
+ icon->addFile(":/configgadget/images/ins_normal.png", QSize(), QIcon::Normal, QIcon::Off);
+ icon->addFile(":/configgadget/images/ins_selected.png", QSize(), QIcon::Selected, QIcon::Off);
qwd = new DefaultAttitudeWidget(this);
- ftw->insertTab(ConfigGadgetWidget::sensors, qwd, QIcon(":/configgadget/images/AHRS-v1.3.png"), QString("INS"));
+ ftw->insertTab(ConfigGadgetWidget::sensors, qwd, *icon, QString("INS"));
+ icon = new QIcon();
+ icon->addFile(":/configgadget/images/stabilization_normal.png", QSize(), QIcon::Normal, QIcon::Off);
+ icon->addFile(":/configgadget/images/stabilization_selected.png", QSize(), QIcon::Selected, QIcon::Off);
qwd = new ConfigStabilizationWidget(this);
- ftw->insertTab(ConfigGadgetWidget::stabilization, qwd, QIcon(":/configgadget/images/gyroscope.png"), QString("Stabilization"));
+ ftw->insertTab(ConfigGadgetWidget::stabilization, qwd, *icon, QString("Stabilization"));
+ icon = new QIcon();
+ icon->addFile(":/configgadget/images/autotune_normal.png", QSize(), QIcon::Normal, QIcon::Off);
+ icon->addFile(":/configgadget/images/autotune_selected.png", QSize(), QIcon::Selected, QIcon::Off);
qwd = new ConfigAutotuneWidget(this);
- ftw->insertTab(ConfigGadgetWidget::autotune, qwd, QIcon(":/configgadget/images/gyroscope.png"), QString("Autotune"));
+ ftw->insertTab(ConfigGadgetWidget::autotune, qwd, *icon, QString("Autotune"));
+ icon = new QIcon();
+ icon->addFile(":/configgadget/images/camstab_normal.png", QSize(), QIcon::Normal, QIcon::Off);
+ icon->addFile(":/configgadget/images/camstab_selected.png", QSize(), QIcon::Selected, QIcon::Off);
qwd = new ConfigCameraStabilizationWidget(this);
- ftw->insertTab(ConfigGadgetWidget::camerastabilization, qwd, QIcon(":/configgadget/images/camera.png"), QString("Camera Stab"));
+ ftw->insertTab(ConfigGadgetWidget::camerastabilization, qwd, *icon, QString("Camera Stab"));
+ icon = new QIcon();
+ icon->addFile(":/configgadget/images/txpid_normal.png", QSize(), QIcon::Normal, QIcon::Off);
+ icon->addFile(":/configgadget/images/txpid_selected.png", QSize(), QIcon::Selected, QIcon::Off);
qwd = new ConfigTxPIDWidget(this);
- ftw->insertTab(ConfigGadgetWidget::txpid, qwd, QIcon(":/configgadget/images/txpid.png"), QString("TxPID"));
+ ftw->insertTab(ConfigGadgetWidget::txpid, qwd, *icon, QString("TxPID"));
+ ftw->setCurrentIndex(ConfigGadgetWidget::hardware);
// *********************
// Listen to autopilot connection events
@@ -103,8 +131,9 @@ ConfigGadgetWidget::ConfigGadgetWidget(QWidget *parent) : QWidget(parent)
connect(telMngr, SIGNAL(disconnected()), this, SLOT(onAutopilotDisconnect()));
// And check whether by any chance we are not already connected
- if (telMngr->isConnected())
+ if (telMngr->isConnected()) {
onAutopilotConnect();
+ }
help = 0;
connect(ftw,SIGNAL(currentAboutToShow(int,bool*)),this,SLOT(tabAboutToChange(int,bool*)));//,Qt::BlockingQueuedConnection);
@@ -115,7 +144,7 @@ ConfigGadgetWidget::ConfigGadgetWidget(QWidget *parent) : QWidget(parent)
if (pipxStatusObj != NULL ) {
connect(pipxStatusObj, SIGNAL(objectUpdated(UAVObject*)), this, SLOT(updatePipXStatus(UAVObject*)));
} else {
- qDebug() << "Error: Object is unknown (PipXStatus).";
+ qDebug() << "Error: Object is unknown (PipXStatus).";
}
// Create the timer that is used to timeout the connection to the PipX.
@@ -126,8 +155,6 @@ ConfigGadgetWidget::ConfigGadgetWidget(QWidget *parent) : QWidget(parent)
ConfigGadgetWidget::~ConfigGadgetWidget()
{
- // Do nothing
-
// TODO: properly delete all the tabs in ftw before exiting
}
@@ -141,18 +168,25 @@ void ConfigGadgetWidget::startInputWizard()
void ConfigGadgetWidget::resizeEvent(QResizeEvent *event)
{
-
QWidget::resizeEvent(event);
}
void ConfigGadgetWidget::onAutopilotDisconnect() {
ftw->setCurrentIndex(ConfigGadgetWidget::hardware);
ftw->removeTab(ConfigGadgetWidget::sensors);
+
+ QIcon *icon = new QIcon();
+ icon->addFile(":/configgadget/images/ins_normal.png", QSize(), QIcon::Normal, QIcon::Off);
+ icon->addFile(":/configgadget/images/ins_selected.png", QSize(), QIcon::Selected, QIcon::Off);
QWidget *qwd = new DefaultAttitudeWidget(this);
- ftw->insertTab(ConfigGadgetWidget::sensors, qwd, QIcon(":/configgadget/images/AHRS-v1.3.png"), QString("INS"));
+ ftw->insertTab(ConfigGadgetWidget::sensors, qwd, *icon, QString("INS"));
ftw->removeTab(ConfigGadgetWidget::hardware);
+
+ icon = new QIcon();
+ icon->addFile(":/configgadget/images/hardware_normal.png", QSize(), QIcon::Normal, QIcon::Off);
+ icon->addFile(":/configgadget/images/hardware_selected.png", QSize(), QIcon::Selected, QIcon::Off);
qwd = new DefaultHwSettingsWidget(this);
- ftw->insertTab(ConfigGadgetWidget::hardware, qwd, QIcon(":/configgadget/images/hw_config.png"), QString("HW Settings"));
+ ftw->insertTab(ConfigGadgetWidget::hardware, qwd, *icon, QString("Hardware"));
ftw->setCurrentIndex(ConfigGadgetWidget::hardware);
emit autopilotDisconnected();
@@ -172,56 +206,64 @@ void ConfigGadgetWidget::onAutopilotConnect() {
// Delete the INS panel, replace with CC Panel:
ftw->setCurrentIndex(ConfigGadgetWidget::hardware);
ftw->removeTab(ConfigGadgetWidget::sensors);
+
+ QIcon *icon = new QIcon();
+ icon->addFile(":/configgadget/images/ins_normal.png", QSize(), QIcon::Normal, QIcon::Off);
+ icon->addFile(":/configgadget/images/ins_selected.png", QSize(), QIcon::Selected, QIcon::Off);
QWidget *qwd = new ConfigCCAttitudeWidget(this);
- ftw->insertTab(ConfigGadgetWidget::sensors, qwd, QIcon(":/configgadget/images/AHRS-v1.3.png"), QString("Attitude"));
+ ftw->insertTab(ConfigGadgetWidget::sensors, qwd, *icon, QString("INS"));
ftw->removeTab(ConfigGadgetWidget::hardware);
+
+ icon = new QIcon();
+ icon->addFile(":/configgadget/images/hardware_normal.png", QSize(), QIcon::Normal, QIcon::Off);
+ icon->addFile(":/configgadget/images/hardware_selected.png", QSize(), QIcon::Selected, QIcon::Off);
qwd = new ConfigCCHWWidget(this);
- ftw->insertTab(ConfigGadgetWidget::hardware, qwd, QIcon(":/configgadget/images/hw_config.png"), QString("HW Settings"));
+ ftw->insertTab(ConfigGadgetWidget::hardware, qwd, *icon, QString("Hardware"));
ftw->setCurrentIndex(ConfigGadgetWidget::hardware);
- } else if ((board & 0xff00) == 256 ) {
- // Mainboard family
- Q_ASSERT(0);
- /*
- ftw->setCurrentIndex(ConfigGadgetWidget::hardware);
- ftw->removeTab(ConfigGadgetWidget::sensors);
- QWidget *qwd = new ConfigAHRSWidget(this);
- ftw->insertTab(ConfigGadgetWidget::sensors, qwd, QIcon(":/configgadget/images/AHRS-v1.3.png"), QString("INS"));
- ftw->removeTab(ConfigGadgetWidget::hardware);
- qwd = new ConfigProHWWidget(this);
- ftw->insertTab(ConfigGadgetWidget::hardware, qwd, QIcon(":/configgadget/images/hw_config.png"), QString("HW Settings"));
- ftw->setCurrentIndex(ConfigGadgetWidget::hardware);
- */
} else if ((board & 0xff00) == 0x0900) {
// Revolution sensor calibration
ftw->setCurrentIndex(ConfigGadgetWidget::hardware);
ftw->removeTab(ConfigGadgetWidget::sensors);
+
+ QIcon *icon = new QIcon();
+ icon->addFile(":/configgadget/images/ins_normal.png", QSize(), QIcon::Normal, QIcon::Off);
+ icon->addFile(":/configgadget/images/ins_selected.png", QSize(), QIcon::Selected, QIcon::Off);
QWidget *qwd = new ConfigRevoWidget(this);
- ftw->insertTab(ConfigGadgetWidget::sensors, qwd, QIcon(":/configgadget/images/AHRS-v1.3.png"), QString("Revo"));
+ ftw->insertTab(ConfigGadgetWidget::sensors, qwd, *icon, QString("Revo"));
ftw->removeTab(ConfigGadgetWidget::hardware);
+
+ icon = new QIcon();
+ icon->addFile(":/configgadget/images/hardware_normal.png", QSize(), QIcon::Normal, QIcon::Off);
+ icon->addFile(":/configgadget/images/hardware_selected.png", QSize(), QIcon::Normal, QIcon::On);
qwd = new ConfigProHWWidget(this);
- ftw->insertTab(ConfigGadgetWidget::hardware, qwd, QIcon(":/configgadget/images/hw_config.png"), QString("HW Settings"));
+ ftw->insertTab(ConfigGadgetWidget::hardware, qwd, *icon, QString("Hardware"));
ftw->setCurrentIndex(ConfigGadgetWidget::hardware);
+ } else {
+ //Unknown board
+ Q_ASSERT(0);
}
}
emit autopilotConnected();
}
-void ConfigGadgetWidget::tabAboutToChange(int i,bool * proceed)
+void ConfigGadgetWidget::tabAboutToChange(int i, bool * proceed)
{
Q_UNUSED(i);
- *proceed=true;
- ConfigTaskWidget * wid=qobject_cast(ftw->currentWidget());
- if(!wid)
+ *proceed = true;
+ ConfigTaskWidget * wid = qobject_cast(ftw->currentWidget());
+ if(!wid) {
return;
+ }
if(wid->isDirty())
{
int ans=QMessageBox::warning(this,tr("Unsaved changes"),tr("The tab you are leaving has unsaved changes,"
"if you proceed they will be lost."
"Do you still want to proceed?"),QMessageBox::Yes,QMessageBox::No);
- if(ans==QMessageBox::No)
+ if(ans==QMessageBox::No) {
*proceed=false;
- else
+ } else {
wid->setDirty(false);
+ }
}
}
diff --git a/ground/openpilotgcs/src/plugins/config/images/autotune_normal.png b/ground/openpilotgcs/src/plugins/config/images/autotune_normal.png
new file mode 100644
index 000000000..5c7ca95f1
Binary files /dev/null and b/ground/openpilotgcs/src/plugins/config/images/autotune_normal.png differ
diff --git a/ground/openpilotgcs/src/plugins/config/images/autotune_selected.png b/ground/openpilotgcs/src/plugins/config/images/autotune_selected.png
new file mode 100644
index 000000000..53fe7cf0c
Binary files /dev/null and b/ground/openpilotgcs/src/plugins/config/images/autotune_selected.png differ
diff --git a/ground/openpilotgcs/src/plugins/config/images/camstab_normal.png b/ground/openpilotgcs/src/plugins/config/images/camstab_normal.png
new file mode 100644
index 000000000..07cf6c6c4
Binary files /dev/null and b/ground/openpilotgcs/src/plugins/config/images/camstab_normal.png differ
diff --git a/ground/openpilotgcs/src/plugins/config/images/camstab_selected.png b/ground/openpilotgcs/src/plugins/config/images/camstab_selected.png
new file mode 100644
index 000000000..30b82f0fe
Binary files /dev/null and b/ground/openpilotgcs/src/plugins/config/images/camstab_selected.png differ
diff --git a/ground/openpilotgcs/src/plugins/config/images/hardware_normal.png b/ground/openpilotgcs/src/plugins/config/images/hardware_normal.png
new file mode 100644
index 000000000..077d9712e
Binary files /dev/null and b/ground/openpilotgcs/src/plugins/config/images/hardware_normal.png differ
diff --git a/ground/openpilotgcs/src/plugins/config/images/hardware_selected.png b/ground/openpilotgcs/src/plugins/config/images/hardware_selected.png
new file mode 100644
index 000000000..83611be21
Binary files /dev/null and b/ground/openpilotgcs/src/plugins/config/images/hardware_selected.png differ
diff --git a/ground/openpilotgcs/src/plugins/config/images/input_normal.png b/ground/openpilotgcs/src/plugins/config/images/input_normal.png
new file mode 100644
index 000000000..e5315ced7
Binary files /dev/null and b/ground/openpilotgcs/src/plugins/config/images/input_normal.png differ
diff --git a/ground/openpilotgcs/src/plugins/config/images/input_selected.png b/ground/openpilotgcs/src/plugins/config/images/input_selected.png
new file mode 100644
index 000000000..b4c2340ee
Binary files /dev/null and b/ground/openpilotgcs/src/plugins/config/images/input_selected.png differ
diff --git a/ground/openpilotgcs/src/plugins/config/images/ins_normal.png b/ground/openpilotgcs/src/plugins/config/images/ins_normal.png
new file mode 100644
index 000000000..335f0ff34
Binary files /dev/null and b/ground/openpilotgcs/src/plugins/config/images/ins_normal.png differ
diff --git a/ground/openpilotgcs/src/plugins/config/images/ins_selected.png b/ground/openpilotgcs/src/plugins/config/images/ins_selected.png
new file mode 100644
index 000000000..7e04f144f
Binary files /dev/null and b/ground/openpilotgcs/src/plugins/config/images/ins_selected.png differ
diff --git a/ground/openpilotgcs/src/plugins/config/images/output_normal.png b/ground/openpilotgcs/src/plugins/config/images/output_normal.png
new file mode 100644
index 000000000..f5754786c
Binary files /dev/null and b/ground/openpilotgcs/src/plugins/config/images/output_normal.png differ
diff --git a/ground/openpilotgcs/src/plugins/config/images/output_selected.png b/ground/openpilotgcs/src/plugins/config/images/output_selected.png
new file mode 100644
index 000000000..016272b5e
Binary files /dev/null and b/ground/openpilotgcs/src/plugins/config/images/output_selected.png differ
diff --git a/ground/openpilotgcs/src/plugins/config/images/stabilization_normal.png b/ground/openpilotgcs/src/plugins/config/images/stabilization_normal.png
new file mode 100644
index 000000000..7d6c750cd
Binary files /dev/null and b/ground/openpilotgcs/src/plugins/config/images/stabilization_normal.png differ
diff --git a/ground/openpilotgcs/src/plugins/config/images/stabilization_selected.png b/ground/openpilotgcs/src/plugins/config/images/stabilization_selected.png
new file mode 100644
index 000000000..7394f23ed
Binary files /dev/null and b/ground/openpilotgcs/src/plugins/config/images/stabilization_selected.png differ
diff --git a/ground/openpilotgcs/src/plugins/config/images/txpid_normal.png b/ground/openpilotgcs/src/plugins/config/images/txpid_normal.png
new file mode 100644
index 000000000..79d2d1d7f
Binary files /dev/null and b/ground/openpilotgcs/src/plugins/config/images/txpid_normal.png differ
diff --git a/ground/openpilotgcs/src/plugins/config/images/txpid_selected.png b/ground/openpilotgcs/src/plugins/config/images/txpid_selected.png
new file mode 100644
index 000000000..0e4fe57d1
Binary files /dev/null and b/ground/openpilotgcs/src/plugins/config/images/txpid_selected.png differ
diff --git a/ground/openpilotgcs/src/plugins/config/images/vehicle_normal.png b/ground/openpilotgcs/src/plugins/config/images/vehicle_normal.png
new file mode 100644
index 000000000..ef96bb78d
Binary files /dev/null and b/ground/openpilotgcs/src/plugins/config/images/vehicle_normal.png differ
diff --git a/ground/openpilotgcs/src/plugins/config/images/vehicle_selected.png b/ground/openpilotgcs/src/plugins/config/images/vehicle_selected.png
new file mode 100644
index 000000000..292c6026e
Binary files /dev/null and b/ground/openpilotgcs/src/plugins/config/images/vehicle_selected.png differ