Merge remote-tracking branch 'upstream/master'

This commit is contained in:
Jean Porcherot 2021-04-27 09:12:56 +02:00
commit f54e4c8ac2
4 changed files with 27 additions and 5 deletions

View File

@ -5,7 +5,7 @@
<provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/> <provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
<provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/> <provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
<provider class="org.eclipse.cdt.managedbuilder.language.settings.providers.GCCBuildCommandParser" id="org.eclipse.cdt.managedbuilder.core.GCCBuildCommandParser" keep-relative-paths="false" name="CDT GCC Build Output Parser" parameter="(g?cc)|([gc]\+\+)|(clang)" prefer-non-shared="true"/> <provider class="org.eclipse.cdt.managedbuilder.language.settings.providers.GCCBuildCommandParser" id="org.eclipse.cdt.managedbuilder.core.GCCBuildCommandParser" keep-relative-paths="false" name="CDT GCC Build Output Parser" parameter="(g?cc)|([gc]\+\+)|(clang)" prefer-non-shared="true"/>
<provider class="org.eclipse.cdt.managedbuilder.internal.language.settings.providers.GCCBuiltinSpecsDetectorMinGW" console="false" env-hash="-1242828358748104657" 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 &quot;${INPUTS}&quot;" prefer-non-shared="true"> <provider class="org.eclipse.cdt.managedbuilder.internal.language.settings.providers.GCCBuiltinSpecsDetectorMinGW" console="false" env-hash="-703253235712566569" 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 &quot;${INPUTS}&quot;" prefer-non-shared="true">
<language-scope id="org.eclipse.cdt.core.gcc"/> <language-scope id="org.eclipse.cdt.core.gcc"/>
<language-scope id="org.eclipse.cdt.core.g++"/> <language-scope id="org.eclipse.cdt.core.g++"/>
</provider> </provider>

View File

@ -56,7 +56,7 @@ CMainWindow::CMainWindow(QWidget *parent)
TableDockWidget->resize(250, 150); TableDockWidget->resize(250, 150);
TableDockWidget->setMinimumSize(200,150); TableDockWidget->setMinimumSize(200,150);
DockManager->addDockWidgetTabToArea(TableDockWidget, CentralDockArea); DockManager->addDockWidgetTabToArea(TableDockWidget, CentralDockArea);
//auto TableArea = DockManager->addDockWidget(DockWidgetArea::LeftDockWidgetArea, TableDockWidget); auto TableArea = DockManager->addDockWidget(DockWidgetArea::LeftDockWidgetArea, TableDockWidget);
ui->menuView->addAction(TableDockWidget->toggleViewAction()); ui->menuView->addAction(TableDockWidget->toggleViewAction());
table = new QTableWidget(); table = new QTableWidget();
@ -67,8 +67,7 @@ CMainWindow::CMainWindow(QWidget *parent)
TableDockWidget->setMinimumSizeHintMode(CDockWidget::MinimumSizeHintFromDockWidget); TableDockWidget->setMinimumSizeHintMode(CDockWidget::MinimumSizeHintFromDockWidget);
TableDockWidget->resize(250, 150); TableDockWidget->resize(250, 150);
TableDockWidget->setMinimumSize(200,150); TableDockWidget->setMinimumSize(200,150);
auto TableArea = DockManager->addDockWidget(DockWidgetArea::LeftDockWidgetArea, TableDockWidget); DockManager->addDockWidget(DockWidgetArea::BottomDockWidgetArea, TableDockWidget, TableArea);
//DockManager->addDockWidget(DockWidgetArea::BottomDockWidgetArea, TableDockWidget, TableArea);
ui->menuView->addAction(TableDockWidget->toggleViewAction()); ui->menuView->addAction(TableDockWidget->toggleViewAction());
QTableWidget* propertiesTable = new QTableWidget(); QTableWidget* propertiesTable = new QTableWidget();

View File

@ -505,6 +505,20 @@ CDockManager::CDockManager(QWidget *parent) :
//============================================================================ //============================================================================
CDockManager::~CDockManager() CDockManager::~CDockManager()
{ {
// fix memory leaks, see https://github.com/githubuser0xFFFF/Qt-Advanced-Docking-System/issues/307
std::vector<ads::CDockAreaWidget*> areas;
for ( int i = 0; i != dockAreaCount(); ++i )
{
areas.push_back( dockArea(i) );
}
for ( auto area : areas )
{
for ( auto widget : area->dockWidgets() )
delete widget;
delete area;
}
auto FloatingWidgets = d->FloatingWidgets; auto FloatingWidgets = d->FloatingWidgets;
for (auto FloatingWidget : FloatingWidgets) for (auto FloatingWidget : FloatingWidgets)
{ {
@ -912,6 +926,8 @@ void CDockManager::loadPerspectives(QSettings& Settings)
} }
Settings.endArray(); Settings.endArray();
Q_EMIT perspectiveListChanged();
Q_EMIT perspectiveListLoaded();
} }

View File

@ -521,10 +521,17 @@ public Q_SLOTS:
Q_SIGNALS: Q_SIGNALS:
/** /**
* This signal is emitted if the list of perspectives changed * This signal is emitted if the list of perspectives changed.
* The list of perspectives changes if perspectives are added, removed
* or if the perspective list has been loaded
*/ */
void perspectiveListChanged(); void perspectiveListChanged();
/**
* This signal is emitted if the perspective list has been loaded
*/
void perspectiveListLoaded();
/** /**
* This signal is emitted if perspectives have been removed * This signal is emitted if perspectives have been removed
*/ */