diff --git a/qgroundcontrol.pri b/qgroundcontrol.pri index 302ab2d..ddae5e1 100644 --- a/qgroundcontrol.pri +++ b/qgroundcontrol.pri @@ -290,6 +290,9 @@ win32-msvc2008 { CONFIG += qaxcontainer + # QWebkit is not needed on MS-Windows compilation environment + CONFIG -= webkit + # Special settings for debug #CONFIG += CONSOLE diff --git a/src/ui/MainWindow.cc b/src/ui/MainWindow.cc index b19f097..055291c 100644 --- a/src/ui/MainWindow.cc +++ b/src/ui/MainWindow.cc @@ -86,30 +86,31 @@ MainWindow::MainWindow(QWidget *parent): // Load previous widget setup - // FIXME WORK IN PROGRESS - QSettings settings(QGC::COMPANYNAME, QGC::APPNAME); - - QList dockwidgets = qFindChildren(this); - if (dockwidgets.size()) - { - settings.beginGroup("mainwindow/dockwidgets"); - for (int i = 0; i < dockwidgets.size(); ++i) - { - QDockWidget *dockWidget = dockwidgets.at(i); - if (dockWidget->parentWidget() == this) - { - if (settings.contains(dockWidget->windowTitle())) - { - dockWidget->setVisible(settings.value(dockWidget->windowTitle(), dockWidget->isVisible()).toBool()); - } - } - } - settings.endGroup(); - } +// // FIXME WORK IN PROGRESS +// QSettings settings(QGC::COMPANYNAME, QGC::APPNAME); +// QList dockwidgets = qFindChildren(this); +// if (dockwidgets.size()) +// { +// settings.beginGroup("mainwindow/dockwidgets"); +// for (int i = 0; i < dockwidgets.size(); ++i) +// { +// QDockWidget *dockWidget = dockwidgets.at(i); +// if (dockWidget->parentWidget() == this) +// { +// if (settings.contains(dockWidget->windowTitle())) +// { +// dockWidget->setVisible(settings.value(dockWidget->windowTitle(), dockWidget->isVisible()).toBool()); +// } +// } +// } +// settings.endGroup(); +// } + // Enable and update view this->show(); + presentView(); } MainWindow::~MainWindow() @@ -155,110 +156,6 @@ void MainWindow::buildCommonWidgets() } -//======= -//void MainWindow::storeSettings() -//{ -// QSettings settings(QGC::COMPANYNAME, QGC::APPNAME); - -// QList dockwidgets = qFindChildren(this); -// if (dockwidgets.size()) -// { -// settings.beginGroup("mainwindow/dockwidgets"); -// for (int i = 0; i < dockwidgets.size(); ++i) -// { -// QDockWidget *dockWidget = dockwidgets.at(i); -// if (dockWidget->parentWidget() == this) -// { -// settings.setValue(dockWidget->windowTitle(), QVariant(dockWidget->isVisible())); -// } -// } -// settings.endGroup(); -// } -// settings.sync(); -//} - -//QMenu* MainWindow::createCenterWidgetMenu() -//{ -// QMenu* menu = NULL; -// QStackedWidget* centerStack = dynamic_cast(centralWidget()); -// if (centerStack) -// { -// if (centerStack->count() > 0) -// { -// menu = new QMenu(this); -// for (int i = 0; i < centerStack->count(); ++i) -// { -// //menu->addAction(centerStack->widget(i)->actions()) -// } -// } -// } -// return menu; -//} - -//QMenu* MainWindow::createDockWidgetMenu() -//{ -// QMenu *menu = 0; -//#ifndef QT_NO_DOCKWIDGET -// QList dockwidgets = qFindChildren(this); -// if (dockwidgets.size()) -// { -// menu = new QMenu(this); -// for (int i = 0; i < dockwidgets.size(); ++i) -// { -// QDockWidget *dockWidget = dockwidgets.at(i); -// if (dockWidget->parentWidget() == this) -// { -// menu->addAction(dockwidgets.at(i)->toggleViewAction()); -// } -// } -// menu->addSeparator(); -// } -//#endif -// return menu; -//} - -////QList* MainWindow::getMainWidgets() -////{ - -////} - -////QMenu* QMainWindow::getDockWidgetMenu() -////{ -//// Q_D(QMainWindow); -//// QMenu *menu = 0; -////#ifndef QT_NO_DOCKWIDGET -//// QList dockwidgets = qFindChildren(this); -//// if (dockwidgets.size()) { -//// menu = new QMenu(this); -//// for (int i = 0; i < dockwidgets.size(); ++i) { -//// QDockWidget *dockWidget = dockwidgets.at(i); -//// if (dockWidget->parentWidget() == this -//// && d->layout->contains(dockWidget)) { -//// menu->addAction(dockwidgets.at(i)->toggleViewAction()); -//// } -//// } -//// menu->addSeparator(); -//// } -////#endif // QT_NO_DOCKWIDGET -////#ifndef QT_NO_TOOLBAR -//// QList toolbars = qFindChildren(this); -//// if (toolbars.size()) { -//// if (!menu) -//// menu = new QMenu(this); -//// for (int i = 0; i < toolbars.size(); ++i) { -//// QToolBar *toolBar = toolbars.at(i); -//// if (toolBar->parentWidget() == this -//// && d->layout->contains(toolBar)) { -//// menu->addAction(toolbars.at(i)->toggleViewAction()); -//// } -//// } -//// } -////#endif -//// Q_UNUSED(d); -//// return menu; -////} -//>>>>>>> master - void MainWindow::buildPxWidgets() { //FIXME: memory of acceptList will never be freed again @@ -295,8 +192,8 @@ void MainWindow::buildPxWidgets() #ifdef QGC_OSGEARTH_ENABLED _3DMapWidget = Q3DWidgetFactory::get("MAP3D"); addToCentralWidgetsMenu(_3DMapWidget, "OSG Earth 3D", SLOT(showCentralWidget()), CENTRAL_OSGEARTH); - #endif + #if (defined Q_OS_WIN) | (defined Q_OS_MAC) gEarthWidget = new QGCGoogleEarthView(this); addToCentralWidgetsMenu(gEarthWidget, "Google Earth", SLOT(showCentralWidget()), CENTRAL_GOOGLE_EARTH); @@ -322,49 +219,6 @@ void MainWindow::buildPxWidgets() hsiDockWidget = new QDockWidget(tr("Horizontal Situation Indicator"), this); hsiDockWidget->setWidget( new HSIDisplay(this) ); addToToolsMenu (hsiDockWidget, tr("HSI"), SLOT(showToolWidget()), MENU_HSI, Qt::BottomDockWidgetArea); -//======= -// controlDockWidget = new QDockWidget(tr("Control"), this); -// controlDockWidget->setWidget( new UASControlWidget(this) ); -// addDockWidget(Qt::LeftDockWidgetArea, controlDockWidget); -// controlDockWidget->hide(); - -// infoDockWidget = new QDockWidget(tr("Status Details"), this); -// infoDockWidget->setWidget( new UASInfoWidget(this) ); -// addDockWidget(Qt::LeftDockWidgetArea, infoDockWidget); -// //infoDockWidget->hide(); - -// listDockWidget = new QDockWidget(tr("Unmanned Systems"), this); -// listDockWidget->setWidget( new UASListWidget(this) ); -// addDockWidget(Qt::BottomDockWidgetArea, listDockWidget); -// listDockWidget->hide(); - -// waypointsDockWidget = new QDockWidget(tr("Waypoint List"), this); -// waypointsDockWidget->setWidget( new WaypointList(this, NULL) ); -// addDockWidget(Qt::BottomDockWidgetArea, waypointsDockWidget); -// waypointsDockWidget->hide(); - -// detectionDockWidget = new QDockWidget(tr("Object Recognition"), this); -// detectionDockWidget->setWidget( new ObjectDetectionView("images/patterns", this) ); -// addDockWidget(Qt::RightDockWidgetArea, detectionDockWidget); -// detectionDockWidget->hide(); - -// debugConsoleDockWidget = new QDockWidget(tr("Communication Console"), this); -// debugConsoleDockWidget->setWidget( new DebugConsole(this) ); -// addDockWidget(Qt::BottomDockWidgetArea, debugConsoleDockWidget); - -// parametersDockWidget = new QDockWidget(tr("Onboard Parameters"), this); -// parametersDockWidget->setWidget( new ParameterInterface(this) ); -// addDockWidget(Qt::RightDockWidgetArea, parametersDockWidget); - -// watchdogControlDockWidget = new QDockWidget(tr("Process Control"), this); -// watchdogControlDockWidget->setWidget( new WatchdogControl(this) ); -// addDockWidget(Qt::RightDockWidgetArea, watchdogControlDockWidget); -// watchdogControlDockWidget->hide(); - -// hsiDockWidget = new QDockWidget(tr("Horizontal Situation Indicator"), this); -// hsiDockWidget->setWidget( new HSIDisplay(this) ); -// addDockWidget(Qt::LeftDockWidgetArea, hsiDockWidget); -//>>>>>>> master headDown1DockWidget = new QDockWidget(tr("System Stats"), this); headDown1DockWidget->setWidget( new HDDisplay(acceptList, this) ); @@ -378,18 +232,6 @@ void MainWindow::buildPxWidgets() rcViewDockWidget = new QDockWidget(tr("Radio Control"), this); rcViewDockWidget->setWidget( new QGCRemoteControlView(this) ); addToToolsMenu (rcViewDockWidget, tr("Radio Control"), SLOT(showToolWidget()), MENU_RC_VIEW, Qt::BottomDockWidgetArea); -//======= -// addDockWidget(Qt::RightDockWidgetArea, headDown1DockWidget); - -// headDown2DockWidget = new QDockWidget(tr("Payload Status"), this); -// headDown2DockWidget->setWidget( new HDDisplay(acceptList2, this) ); -// addDockWidget(Qt::RightDockWidgetArea, headDown2DockWidget); - -// rcViewDockWidget = new QDockWidget(tr("Radio Control"), this); -// rcViewDockWidget->setWidget( new QGCRemoteControlView(this) ); -// addDockWidget(Qt::BottomDockWidgetArea, rcViewDockWidget); -// rcViewDockWidget->hide(); -//>>>>>>> master headUpDockWidget = new QDockWidget(tr("HUD"), this); headUpDockWidget->setWidget( new HUD(320, 240, this)); @@ -422,16 +264,6 @@ void MainWindow::buildSlugsWidgets() slugsDataWidget->setWidget( new SlugsDataSensorView(this)); addToToolsMenu (slugsDataWidget, tr("Telemetry Data"), SLOT(showToolWidget()), MENU_SLUGS_DATA, Qt::RightDockWidgetArea); -//======= -// this->addDockWidget(Qt::LeftDockWidgetArea, headUpDockWidget); - -// // SLUGS -// slugsDataWidget = new QDockWidget(tr("Slugs Data"), this); -// slugsDataWidget->setWidget( new SlugsDataSensorView(this)); -// addDockWidget(Qt::LeftDockWidgetArea, slugsDataWidget); -// slugsDataWidget->hide(); -//>>>>>>> master - slugsPIDControlWidget = new QDockWidget(tr("Slugs PID Control"), this); slugsPIDControlWidget->setWidget(new SlugsPIDControl(this)); addToToolsMenu (slugsPIDControlWidget, tr("PID Configuration"), SLOT(showToolWidget()), MENU_SLUGS_PID, Qt::LeftDockWidgetArea); @@ -439,15 +271,6 @@ void MainWindow::buildSlugsWidgets() slugsHilSimWidget = new QDockWidget(tr("Slugs Hil Sim"), this); slugsHilSimWidget->setWidget( new SlugsHilSim(this)); addToToolsMenu (slugsHilSimWidget, tr("HIL Sim Configuration"), SLOT(showToolWidget()), MENU_SLUGS_HIL, Qt::LeftDockWidgetArea); -//======= -// addDockWidget(Qt::BottomDockWidgetArea, slugsPIDControlWidget); -// slugsPIDControlWidget->hide(); - -// slugsHilSimWidget = new QDockWidget(tr("Slugs Hil Sim"), this); -// slugsHilSimWidget->setWidget( new SlugsHilSim(this)); -// addDockWidget(Qt::BottomDockWidgetArea, slugsHilSimWidget); -// slugsHilSimWidget->hide(); -//>>>>>>> master slugsCamControlWidget = new QDockWidget(tr("Slugs Video Camera Control"), this); slugsCamControlWidget->setWidget(new SlugsVideoCamControl(this)); @@ -495,14 +318,16 @@ void MainWindow::addToCentralWidgetsMenu ( QWidget* widget, } -void MainWindow::showCentralWidget(){ +void MainWindow::showCentralWidget() +{ QAction* senderAction = qobject_cast(sender()); int tool = senderAction->data().toInt(); QString chKey; // check the current action - if (senderAction && dockWidgets[tool]){ + if (senderAction && dockWidgets[tool]) + { // uncheck all central widget actions QHashIterator i(toolsMenuActions); @@ -533,11 +358,16 @@ void MainWindow::showCentralWidget(){ } } +/** + * Adds a widget to the tools menu and sets it visible if it was + * enabled last time. + */ void MainWindow::addToToolsMenu ( QWidget* widget, const QString title, const char * slotName, TOOLS_WIDGET_NAMES tool, - Qt::DockWidgetArea location){ + Qt::DockWidgetArea location) +{ QAction* tempAction; QString posKey, chKey; @@ -569,11 +399,15 @@ void MainWindow::addToToolsMenu ( QWidget* widget, chKey = buildMenuKey(SUB_SECTION_CHECKED,tool, currentView); - if (!settings.contains(chKey)){ + if (!settings.contains(chKey)) + { settings.setValue(chKey,false); tempAction->setChecked(false); - } else { + } + else + { tempAction->setChecked(settings.value(chKey).toBool()); + widget->setVisible(settings.value(chKey).toBool()); } // connect the action @@ -1263,17 +1097,10 @@ void MainWindow::loadMAVLinkView() currentView = VIEW_MAVLINK; presentView(); -//======= -// // Slugs Data View -// if (slugsHilSimWidget) -// { -// addDockWidget(Qt::LeftDockWidgetArea, slugsHilSimWidget); -// slugsHilSimWidget->show(); -// } -//>>>>>>> master } -void MainWindow::presentView() { +void MainWindow::presentView() +{ #ifdef QGC_OSG_ENABLED @@ -1290,7 +1117,8 @@ void MainWindow::presentView() { qDebug() << "LC"; showTheCentralWidget(CENTRAL_LINECHART, currentView); - if (linechartWidget){ + if (linechartWidget) + { qDebug () << buildMenuKey (SUB_SECTION_CHECKED,CENTRAL_LINECHART,currentView) << settings.value(buildMenuKey (SUB_SECTION_CHECKED,CENTRAL_LINECHART,currentView)).toBool() ; if (settings.value(buildMenuKey (SUB_SECTION_CHECKED,CENTRAL_LINECHART,currentView)).toBool()){ diff --git a/src/ui/map3D/QGCGoogleEarthView.cc b/src/ui/map3D/QGCGoogleEarthView.cc index 0f402a7..4c99716 100644 --- a/src/ui/map3D/QGCGoogleEarthView.cc +++ b/src/ui/map3D/QGCGoogleEarthView.cc @@ -1,18 +1,17 @@ -#include -#include #include #include #include - -#include "QGCGoogleEarthView.h" -#include "QGCWebPage.h" #include "UASManager.h" #ifdef _MSC_VER #include "ui_QGCGoogleEarthView.h" #else +#include +#include +#include "QGCWebPage.h" #include "ui_QGCGoogleEarthView.h" #endif +#include "QGCGoogleEarthView.h" QGCGoogleEarthView::QGCGoogleEarthView(QWidget *parent) : QWidget(parent),