Skip to content
MainWindow.cc 80.7 KiB
Newer Older
    else
    {
        // Hide custom widgets
        if (detectionDockWidget) detectionDockWidget->hide();
        if (watchdogControlDockWidget) watchdogControlDockWidget->hide();

        // Load defaults
        switch (currentView)
        {
            centerStack->setCurrentWidget(configView);
            if (softwareConfigView)
                centerStack->setCurrentWidget(softwareConfigView);
            centerStack->setCurrentWidget(engineeringView);
            centerStack->setCurrentWidget(pilotView);
            centerStack->setCurrentWidget(mavlinkView);
Lorenz Meier's avatar
Lorenz Meier committed
//        case VIEW_FIRMWAREUPDATE:
//            centerStack->setCurrentWidget(firmwareUpdateWidget);
//            break;
            centerStack->setCurrentWidget(plannerView);
            centerStack->setCurrentWidget(simView);
        case VIEW_TERMINAL:
            centerStack->setCurrentWidget(terminalView);
            break;

        case VIEW_UNCONNECTED:
        case VIEW_FULL:
        default:
            //centerStack->setCurrentWidget(mapWidget);
            if (controlDockWidget)
            {
                controlDockWidget->hide();
            }
            if (listDockWidget)
            {
                listDockWidget->show();
            }
            break;
        }
    }

    // Restore the widget positions and size
    if (settings.contains(getWindowStateKey() + "WIDGETS"))
    {
        QString widgetstr = settings.value(getWindowStateKey() + "WIDGETS").toString();
        QStringList split = widgetstr.split(",");
        foreach (QString widgetname,split)
        {
            if (widgetname != "")
            {
    if (settings.contains(getWindowStateKey()))
    {
        SubMainWindow *win = qobject_cast<SubMainWindow*>(centerStack->currentWidget());
        //settings.setValue(getWindowStateKey(), win->saveState(QGC::applicationVersion()))
        win->restoreState(settings.value(getWindowStateKey()).toByteArray(), QGC::applicationVersion());
    isAdvancedMode = !isAdvancedMode;
    ui.actionAdvanced_Mode->setChecked(isAdvancedMode);
    settings.setValue("ADVANCED_MODE",isAdvancedMode);
    for (int i = 0; i < dockWidgets.size(); i++)
        setDockWidgetTitleBar(dockWidgets[i]);

void MainWindow::loadEngineerView()
{
    if (currentView != VIEW_ENGINEER)
    {
        storeViewState();
        currentView = VIEW_ENGINEER;
        ui.actionEngineersView->setChecked(true);
        loadViewState();
    }
}

void MainWindow::loadOperatorView()
{
        currentView = VIEW_MISSION;
        ui.actionMissionView->setChecked(true);
void MainWindow::loadHardwareConfigView()
{
    if (currentView != VIEW_HARDWARE_CONFIG)
    {
        storeViewState();
        currentView = VIEW_HARDWARE_CONFIG;
        ui.actionHardwareConfig->setChecked(true);
        loadViewState();
    }
}

void MainWindow::loadSoftwareConfigView()
        currentView = VIEW_SOFTWARE_CONFIG;
        ui.actionSoftwareConfig->setChecked(true);
void MainWindow::loadTerminalView()
{
    if (currentView != VIEW_TERMINAL)
    {
        storeViewState();
        currentView = VIEW_TERMINAL;
        ui.actionTerminalView->setChecked(true);
        loadViewState();
    }
}


void MainWindow::loadUnconnectedView()
{
    if (currentView != VIEW_UNCONNECTED)
    {
        storeViewState();
        currentView = VIEW_UNCONNECTED;
        ui.actionUnconnectedView->setChecked(true);
        loadViewState();
    }
}

void MainWindow::loadPilotView()
{
        currentView = VIEW_FLIGHT;
        ui.actionFlightView->setChecked(true);
void MainWindow::loadSimulationView()
{
    if (currentView != VIEW_SIMULATION)
    {
        storeViewState();
        currentView = VIEW_SIMULATION;
        ui.actionSimulation_View->setChecked(true);
        loadViewState();
    }
}

void MainWindow::loadMAVLinkView()
{
    if (currentView != VIEW_MAVLINK)
    {
        storeViewState();
        currentView = VIEW_MAVLINK;
        ui.actionMavlinkView->setChecked(true);
        loadViewState();
    }
}

//void MainWindow::loadDataView(QString fileName)
//{
//    // Plot is now selected, now load data from file
//    if (dataView)
//    {
//        //dataView->setCentralWidget(new QGCDataPlot2D(this));
//        QGCDataPlot2D *plot = qobject_cast<QGCDataPlot2D*>(dataView->centralWidget());
//        if (plot)
//        {
//            plot->loadFile(fileName);
//        }
//    }
//    /*QStackedWidget *centerStack = dynamic_cast<QStackedWidget*>(centralWidget());
//    if (centerStack)
//    {
//        centerStack->setCurrentWidget(dataView);
//        dataplotWidget->loadFile(fileName);
//    }*/
//}


QList<QAction*> MainWindow::listLinkMenuActions(void)
{
    return ui.menuNetwork->actions();
}

#ifdef MOUSE_ENABLED_LINUX
bool MainWindow::x11Event(XEvent *event)
{
    emit x11EventOccured(event);
}
#endif // MOUSE_ENABLED_LINUX