Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Q
qgroundcontrol
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Valentin Platzgummer
qgroundcontrol
Commits
e53a9d6f
Commit
e53a9d6f
authored
Dec 21, 2010
by
lm
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fixed window persistence
parent
b6250c0c
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
49 additions
and
219 deletions
+49
-219
qgroundcontrol.pri
qgroundcontrol.pri
+3
-0
MainWindow.cc
src/ui/MainWindow.cc
+42
-214
QGCGoogleEarthView.cc
src/ui/map3D/QGCGoogleEarthView.cc
+4
-5
No files found.
qgroundcontrol.pri
View file @
e53a9d6f
...
...
@@ -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
...
...
src/ui/MainWindow.cc
View file @
e53a9d6f
...
...
@@ -86,30 +86,31 @@ MainWindow::MainWindow(QWidget *parent):
// Load previous widget setup
// FIXME WORK IN PROGRESS
QSettings
settings
(
QGC
::
COMPANYNAME
,
QGC
::
APPNAME
);
QList
<
QDockWidget
*>
dockwidgets
=
qFindChildren
<
QDockWidget
*>
(
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<QDockWidget *> dockwidgets = qFindChildren<QDockWidget *>(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<QDockWidget *> dockwidgets = qFindChildren<QDockWidget *>(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<QStackedWidget*>(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<QDockWidget *> dockwidgets = qFindChildren<QDockWidget *>(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<QWidget* >* MainWindow::getMainWidgets()
////{
////}
////QMenu* QMainWindow::getDockWidgetMenu()
////{
//// Q_D(QMainWindow);
//// QMenu *menu = 0;
////#ifndef QT_NO_DOCKWIDGET
//// QList<QDockWidget *> dockwidgets = qFindChildren<QDockWidget *>(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<QToolBar *> toolbars = qFindChildren<QToolBar *>(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
<
QAction
*>
(
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
<
int
,
QAction
*>
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
()){
...
...
src/ui/map3D/QGCGoogleEarthView.cc
View file @
e53a9d6f
#include <QWebFrame>
#include <QWebPage>
#include <QApplication>
#include <QDir>
#include <QDebug>
#include "QGCGoogleEarthView.h"
#include "QGCWebPage.h"
#include "UASManager.h"
#ifdef _MSC_VER
#include "ui_QGCGoogleEarthView.h"
#else
#include <QWebFrame>
#include <QWebPage>
#include "QGCWebPage.h"
#include "ui_QGCGoogleEarthView.h"
#endif
#include "QGCGoogleEarthView.h"
QGCGoogleEarthView
::
QGCGoogleEarthView
(
QWidget
*
parent
)
:
QWidget
(
parent
),
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment