Commit 9f370da7 authored by dogmaphobic's avatar dogmaphobic

Made Status Bar an option in the newly renamed View menu.

parent a2e9481b
...@@ -126,6 +126,7 @@ void MainWindow::deleteInstance(void) ...@@ -126,6 +126,7 @@ void MainWindow::deleteInstance(void)
MainWindow::MainWindow(QSplashScreen* splashScreen) MainWindow::MainWindow(QSplashScreen* splashScreen)
: _autoReconnect(false) : _autoReconnect(false)
, _lowPowerMode(false) , _lowPowerMode(false)
, _showStatusBar(false)
, _centerStackActionGroup(new QActionGroup(this)) , _centerStackActionGroup(new QActionGroup(this))
, _simulationLink(NULL) , _simulationLink(NULL)
, _centralLayout(NULL) , _centralLayout(NULL)
...@@ -255,8 +256,9 @@ MainWindow::MainWindow(QSplashScreen* splashScreen) ...@@ -255,8 +256,9 @@ MainWindow::MainWindow(QSplashScreen* splashScreen)
} }
// And that they will stay checked properly after user input // And that they will stay checked properly after user input
QObject::connect(_ui.actionFullscreen, SIGNAL(triggered()), this, SLOT(fullScreenActionItemCallback())); connect(_ui.actionFullscreen, &QAction::triggered, this, &MainWindow::fullScreenActionItemCallback);
QObject::connect(_ui.actionNormal, SIGNAL(triggered()), this, SLOT(normalActionItemCallback())); connect(_ui.actionNormal, &QAction::triggered, this, &MainWindow::normalActionItemCallback);
connect(_ui.actionStatusBar, &QAction::triggered, this, &MainWindow::showStatusBarCallback);
// Set OS dependent keyboard shortcuts for the main window, non OS dependent shortcuts are set in MainWindow.ui // Set OS dependent keyboard shortcuts for the main window, non OS dependent shortcuts are set in MainWindow.ui
#ifdef Q_OS_MACX #ifdef Q_OS_MACX
...@@ -284,6 +286,8 @@ MainWindow::MainWindow(QSplashScreen* splashScreen) ...@@ -284,6 +286,8 @@ MainWindow::MainWindow(QSplashScreen* splashScreen)
emit initStatusChanged(tr("Done"), Qt::AlignLeft | Qt::AlignBottom, QColor(62, 93, 141)); emit initStatusChanged(tr("Done"), Qt::AlignLeft | Qt::AlignBottom, QColor(62, 93, 141));
if (!qgcApp()->runningUnitTests()) { if (!qgcApp()->runningUnitTests()) {
_ui.actionStatusBar->setChecked(_showStatusBar);
showStatusBarCallback(_showStatusBar);
show(); show();
#ifdef Q_OS_MAC #ifdef Q_OS_MAC
// TODO HACK // TODO HACK
...@@ -624,16 +628,22 @@ void MainWindow::_showHILConfigurationWidgets(void) ...@@ -624,16 +628,22 @@ void MainWindow::_showHILConfigurationWidgets(void)
} }
} }
void MainWindow::fullScreenActionItemCallback() void MainWindow::fullScreenActionItemCallback(bool)
{ {
_ui.actionNormal->setChecked(false); _ui.actionNormal->setChecked(false);
} }
void MainWindow::normalActionItemCallback() void MainWindow::normalActionItemCallback(bool)
{ {
_ui.actionFullscreen->setChecked(false); _ui.actionFullscreen->setChecked(false);
} }
void MainWindow::showStatusBarCallback(bool checked)
{
_showStatusBar = checked;
checked ? statusBar()->show() : statusBar()->hide();
}
void MainWindow::closeEvent(QCloseEvent *event) void MainWindow::closeEvent(QCloseEvent *event)
{ {
// Disallow window close if there are active connections // Disallow window close if there are active connections
...@@ -710,6 +720,7 @@ void MainWindow::loadSettings() ...@@ -710,6 +720,7 @@ void MainWindow::loadSettings()
settings.beginGroup(MAIN_SETTINGS_GROUP); settings.beginGroup(MAIN_SETTINGS_GROUP);
_autoReconnect = settings.value("AUTO_RECONNECT", _autoReconnect).toBool(); _autoReconnect = settings.value("AUTO_RECONNECT", _autoReconnect).toBool();
_lowPowerMode = settings.value("LOW_POWER_MODE", _lowPowerMode).toBool(); _lowPowerMode = settings.value("LOW_POWER_MODE", _lowPowerMode).toBool();
_showStatusBar = settings.value("SHOW_STATUSBAR", _lowPowerMode).toBool();
settings.endGroup(); settings.endGroup();
// Select the proper view. Default to the flight view or load the last one used if it's supported. // Select the proper view. Default to the flight view or load the last one used if it's supported.
VIEW_SECTIONS currentViewCandidate = (VIEW_SECTIONS) settings.value("CURRENT_VIEW", _currentView).toInt(); VIEW_SECTIONS currentViewCandidate = (VIEW_SECTIONS) settings.value("CURRENT_VIEW", _currentView).toInt();
...@@ -739,6 +750,7 @@ void MainWindow::storeSettings() ...@@ -739,6 +750,7 @@ void MainWindow::storeSettings()
settings.beginGroup(MAIN_SETTINGS_GROUP); settings.beginGroup(MAIN_SETTINGS_GROUP);
settings.setValue("AUTO_RECONNECT", _autoReconnect); settings.setValue("AUTO_RECONNECT", _autoReconnect);
settings.setValue("LOW_POWER_MODE", _lowPowerMode); settings.setValue("LOW_POWER_MODE", _lowPowerMode);
settings.setValue("SHOW_STATUSBAR", _showStatusBar);
settings.endGroup(); settings.endGroup();
settings.setValue(_getWindowGeometryKey(), saveGeometry()); settings.setValue(_getWindowGeometryKey(), saveGeometry());
// Save the last current view in any case // Save the last current view in any case
......
...@@ -187,13 +187,17 @@ protected slots: ...@@ -187,13 +187,17 @@ protected slots:
* Used as a triggered() callback by the fullScreenAction to make sure only one of it or the * Used as a triggered() callback by the fullScreenAction to make sure only one of it or the
* normalAction are checked at a time, as they're mutually exclusive. * normalAction are checked at a time, as they're mutually exclusive.
*/ */
void fullScreenActionItemCallback(); void fullScreenActionItemCallback(bool);
/** /**
* @brief Unchecks the fullScreenActionItem. * @brief Unchecks the fullScreenActionItem.
* Used as a triggered() callback by the normalAction to make sure only one of it or the * Used as a triggered() callback by the normalAction to make sure only one of it or the
* fullScreenAction are checked at a time, as they're mutually exclusive. * fullScreenAction are checked at a time, as they're mutually exclusive.
*/ */
void normalActionItemCallback(); void normalActionItemCallback(bool);
/**
* @brief Enable/Disable Status Bar
*/
void showStatusBarCallback(bool checked);
signals: signals:
void initStatusChanged(const QString& message, int alignment, const QColor &color); void initStatusChanged(const QString& message, int alignment, const QColor &color);
...@@ -348,6 +352,7 @@ private: ...@@ -348,6 +352,7 @@ private:
bool _autoReconnect; bool _autoReconnect;
bool _lowPowerMode; ///< If enabled, QGC reduces the update rates of all widgets bool _lowPowerMode; ///< If enabled, QGC reduces the update rates of all widgets
bool _showStatusBar;
QActionGroup* _centerStackActionGroup; QActionGroup* _centerStackActionGroup;
MAVLinkSimulationLink* _simulationLink; MAVLinkSimulationLink* _simulationLink;
QList<QGCToolWidget*> _customWidgets; QList<QGCToolWidget*> _customWidgets;
......
...@@ -75,7 +75,7 @@ ...@@ -75,7 +75,7 @@
</widget> </widget>
<widget class="QMenu" name="menuPerspectives"> <widget class="QMenu" name="menuPerspectives">
<property name="title"> <property name="title">
<string>Perspectives</string> <string>View</string>
</property> </property>
<addaction name="actionSetup"/> <addaction name="actionSetup"/>
<addaction name="actionMissionView"/> <addaction name="actionMissionView"/>
...@@ -84,6 +84,8 @@ ...@@ -84,6 +84,8 @@
<addaction name="separator"/> <addaction name="separator"/>
<addaction name="actionFullscreen"/> <addaction name="actionFullscreen"/>
<addaction name="actionNormal"/> <addaction name="actionNormal"/>
<addaction name="separator"/>
<addaction name="actionStatusBar"/>
</widget> </widget>
<widget class="QMenu" name="menuAdvanced"> <widget class="QMenu" name="menuAdvanced">
<property name="title"> <property name="title">
...@@ -335,6 +337,14 @@ ...@@ -335,6 +337,14 @@
<string>Local 3D View</string> <string>Local 3D View</string>
</property> </property>
</action> </action>
<action name="actionStatusBar">
<property name="checkable">
<bool>true</bool>
</property>
<property name="text">
<string>Status Bar</string>
</property>
</action>
</widget> </widget>
<layoutdefault spacing="6" margin="11"/> <layoutdefault spacing="6" margin="11"/>
<resources> <resources>
......
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