Skip to content

Commit 805e979

Browse files
author
Uwe Kindler
committed
Fixed some issues with restoreState function
1 parent e878bb4 commit 805e979

File tree

6 files changed

+29
-6
lines changed

6 files changed

+29
-6
lines changed

.settings/language.settings.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<project>
33
<configuration id="cdt.managedbuild.toolchain.gnu.mingw.base.1119687795" name="Default">
44
<extension point="org.eclipse.cdt.core.LanguageSettingsProvider">
5-
<provider class="org.eclipse.cdt.managedbuilder.internal.language.settings.providers.GCCBuiltinSpecsDetectorMinGW" console="false" env-hash="-550644722333667955" id="org.eclipse.cdt.managedbuilder.core.GCCBuiltinSpecsDetectorMinGW" keep-relative-paths="false" name="CDT GCC Built-in Compiler Settings MinGW" parameter="${COMMAND} ${FLAGS} -E -P -v -dD -std=c++14 &quot;${INPUTS}&quot;" prefer-non-shared="true">
5+
<provider class="org.eclipse.cdt.managedbuilder.internal.language.settings.providers.GCCBuiltinSpecsDetectorMinGW" console="false" env-hash="-1519829723851667984" id="org.eclipse.cdt.managedbuilder.core.GCCBuiltinSpecsDetectorMinGW" keep-relative-paths="false" name="CDT GCC Built-in Compiler Settings MinGW" parameter="${COMMAND} ${FLAGS} -E -P -v -dD -std=c++14 &quot;${INPUTS}&quot;" prefer-non-shared="true">
66
<language-scope id="org.eclipse.cdt.core.gcc"/>
77
<language-scope id="org.eclipse.cdt.core.g++"/>
88
</provider>

demo/mainwindow.cpp

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
#include "ui_mainwindow.h"
44

5+
#include <iostream>
56

67
#include <QTime>
78
#include <QLabel>
@@ -14,6 +15,7 @@
1415
#include <QSettings>
1516
#include <QDockWidget>
1617
#include <QDebug>
18+
#include <QResizeEvent>
1719

1820
#include "DockManager.h"
1921
#include "DockWidget.h"
@@ -90,6 +92,14 @@ MainWindow::MainWindow(QWidget *parent) :
9092
ui->toolBar->addAction(ui->actionRestoreState);
9193
ui->actionRestoreState->setIcon(style()->standardIcon(QStyle::SP_DialogOpenButton));
9294

95+
m_SavePerspectiveAction = new QAction("Save Perspective", this);
96+
m_PerspectiveListAction = new QWidgetAction(this);
97+
m_PerspectiveComboBox = new QComboBox(this);
98+
m_PerspectiveListAction->setDefaultWidget(m_PerspectiveComboBox);
99+
ui->toolBar->addSeparator();
100+
ui->toolBar->addAction(m_PerspectiveListAction);
101+
ui->toolBar->addAction(m_SavePerspectiveAction);
102+
93103
m_DockManager = new ads::CDockManager(this);
94104
createContent();
95105
// Default window geometry

demo/mainwindow.h

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,31 @@
11
#ifndef MAINWINDOW_H
22
#define MAINWINDOW_H
33

4+
#include <QAction>
5+
#include <QWidgetAction>
6+
#include <QComboBox>
7+
48
#include <QMainWindow>
59
#include "DockManager.h"
610

711
namespace Ui {
812
class MainWindow;
913
}
1014

15+
/**
16+
* Simple main window for demo
17+
*/
1118
class MainWindow : public QMainWindow
1219
{
1320
Q_OBJECT
21+
private:
22+
QAction* m_SavePerspectiveAction;
23+
QWidgetAction* m_PerspectiveListAction;
24+
QComboBox* m_PerspectiveComboBox;
25+
1426
protected:
1527
virtual void closeEvent(QCloseEvent* event) override;
28+
;
1629
public:
1730
explicit MainWindow(QWidget *parent = 0);
1831
virtual ~MainWindow();

src/DockContainerWidget.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1002,7 +1002,6 @@ bool CDockContainerWidget::restoreState(QXmlStreamReader& s, bool Testing)
10021002
{
10031003
CFloatingDockContainer* FloatingWidget = internal::findParent<CFloatingDockContainer*>(this);
10041004
FloatingWidget->restoreGeometry(Geometry);
1005-
FloatingWidget->show();
10061005
}
10071006
}
10081007

src/DockManager.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -346,9 +346,9 @@ bool CDockManager::restoreState(const QByteArray &state, int version)
346346
{
347347
DockWidget->flagAsUnassigned();
348348
}
349-
else if (!DockWidget->property("closed").toBool())
349+
else
350350
{
351-
DockWidget->toggleView(true);
351+
DockWidget->toggleView(!DockWidget->property("closed").toBool());
352352
}
353353
}
354354

src/FloatingDockContainer.cpp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -300,23 +300,24 @@ void CFloatingDockContainer::moveEvent(QMoveEvent *event)
300300
//============================================================================
301301
void CFloatingDockContainer::closeEvent(QCloseEvent *event)
302302
{
303+
std::cout << "closeEvent" << std::endl;
303304
d->setDraggingActive(false);
304305
QWidget::closeEvent(event);
305-
306306
}
307307

308308

309309
//============================================================================
310310
void CFloatingDockContainer::hideEvent(QHideEvent *event)
311311
{
312+
std::cout << "hideEvent" << std::endl;
312313
QWidget::hideEvent(event);
313314
auto OpenDockAreas = d->DockContainer->openedDockAreas();
314315
for (auto DockArea : OpenDockAreas)
315316
{
316317
auto OpenDockWidgets = DockArea->openedDockWidgets();
317318
for (auto DockWidget : OpenDockWidgets)
318319
{
319-
DockWidget->setToggleViewActionChecked(false);
320+
DockWidget->toggleView(false);
320321
}
321322
}
322323
}

0 commit comments

Comments
 (0)