Newer
Older
if (settings.contains(_getWindowStateKey())) {
restoreState(settings.value(_getWindowStateKey()).toByteArray());
Michael Carpenter
committed
}
dogmaphobic
committed
// HIL dock widget are dynamic and don't take part in the saved window state, so this
// need to happen after we restore state
_showHILConfigurationWidgets();
// There is a bug in Qt where a Canvas element inside a QQuickWidget does not
// receive update requests. Here we emit a signal for them to get repainted.
emit repaintCanvas();
}
void MainWindow::_hideAllHilDockWidgets(void)
{
foreach(QDockWidget* dockWidget, _mapUasId2HilDockWidget) {
dockWidget->setVisible(false);
}
}
void MainWindow::_hideAllDockWidgets(void)
{
foreach(QDockWidget* dockWidget, _mapName2DockWidget) {
dockWidget->setVisible(false);
_hideAllHilDockWidgets();
void MainWindow::_showDockWidgetAction(bool show)
Michael Carpenter
committed
{
QAction* action = dynamic_cast<QAction*>(QObject::sender());
Q_ASSERT(action);
_showDockWidget(action->data().toString(), show);
Michael Carpenter
committed
}
void MainWindow::handleMisconfiguration(UASInterface* uas)
{
static QTime lastTime;
// We have to debounce this signal
if (!lastTime.isValid()) {
lastTime.start();
} else {
if (lastTime.elapsed() < 10000) {
lastTime.start();
return;
}
}
// Ask user if they want to handle this now
QMessageBox::StandardButton button =
QGCMessageBox::question(
tr("Missing or Invalid Onboard Configuration"),
tr("The onboard system configuration is missing or incomplete. Do you want to resolve this now?"),
QMessageBox::Ok | QMessageBox::Cancel,
QMessageBox::Ok);
// They want to handle it, make sure this system is selected
Lorenz Meier
committed
UASManager::instance()->setActiveUAS(uas);
// Flick to config view
Lorenz Meier
committed
}
}
_storeCurrentViewState();
_currentView = VIEW_ANALYZE;
_ui.actionAnalyze->setChecked(true);
_loadCurrentViewState();
_storeCurrentViewState();
_currentView = VIEW_PLAN;
_ui.actionPlan->setChecked(true);
_loadCurrentViewState();
void MainWindow::loadOldPlanView()
{
if (_currentView != VIEW_EXPERIMENTAL_PLAN)
{
_storeCurrentViewState();
_currentView = VIEW_EXPERIMENTAL_PLAN;
_ui.actionExperimentalPlanView->setChecked(true);
_loadCurrentViewState();
}
}
void MainWindow::loadSetupView()
Michael Carpenter
committed
{
if (_currentView != VIEW_SETUP)
Michael Carpenter
committed
{
_storeCurrentViewState();
_currentView = VIEW_SETUP;
_loadCurrentViewState();
Michael Carpenter
committed
}
}
if (_currentView != VIEW_FLIGHT)
_storeCurrentViewState();
_currentView = VIEW_FLIGHT;
_loadCurrentViewState();
void MainWindow::loadSimulationView()
{
if (_currentView != VIEW_SIMULATION)
_storeCurrentViewState();
_currentView = VIEW_SIMULATION;
_loadCurrentViewState();
/// @brief Hides the spash screen if it is currently being shown
void MainWindow::hideSplashScreen(void)
{
if (_splashScreen) {
_splashScreen->hide();
_splashScreen = NULL;
}
}
dogmaphobic
committed
void MainWindow::manageLinks()
{
dogmaphobic
committed
SettingsDialog settings(joystick, this, SettingsDialog::ShowCommLinks);
#else
SettingsDialog settings(this, SettingsDialog::ShowCommLinks);
#endif
dogmaphobic
committed
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
settings.exec();
}
/// @brief Saves the last used connection
void MainWindow::saveLastUsedConnection(const QString connection)
{
QSettings settings;
QString key(MAIN_SETTINGS_GROUP);
key += "/LAST_CONNECTION";
settings.setValue(key, connection);
}
/// @brief Restore (and connects) the last used connection (if any)
void MainWindow::restoreLastUsedConnection()
{
// TODO This should check and see of the port/whatever is present
// first. That is, if the last connection was to a PX4 on some serial
// port, it should check and see if the port is present before making
// the connection.
QSettings settings;
QString key(MAIN_SETTINGS_GROUP);
key += "/LAST_CONNECTION";
if(settings.contains(key)) {
QString connection = settings.value(key).toString();
dogmaphobic
committed
// Create a link for it
LinkManager::instance()->createConnectedLink(connection);
dogmaphobic
committed
}
}
void MainWindow::_linkStateChange(LinkInterface*)
{
emit repaintCanvas();
}
void MainWindow::setPixelSizeFactor(double size) {
if(size < 0.1) {
size = 0.1;
}
_pixelFactor = size;
emit pixelSizeChanged();
}
void MainWindow::setFontSizeFactor(double size) {
if(size < 0.1) {
size = 0.1;
}
_fontFactor = size;
emit fontSizeChanged();
}
bool MainWindow::x11Event(XEvent *event)
{
emit x11EventOccured(event);
Matthias Krebs
committed
return false;