Get rid of "ghost" windows on startup. (#9171)

* Get rid of "ghost" windows on startup.
Removes hide all docking windows feature for now, to be replaced by a new implementation. Will probably break some tests due to this.
This commit is contained in:
jonjenssen
2022-08-09 16:40:50 +02:00
committed by GitHub
parent 63b26ebf2d
commit a3c561b7e5
16 changed files with 24 additions and 489 deletions

View File

@@ -158,8 +158,6 @@ void RiuMainWindowBase::loadWinGeoAndDockToolBarLayout()
settings.beginGroup( registryFolderName() );
m_dockManager->loadPerspectives( settings );
restoreDockWidgetVisibilities();
}
//--------------------------------------------------------------------------------------------------
@@ -189,44 +187,6 @@ void RiuMainWindowBase::saveWinGeoAndDockToolBarLayout()
settings.setValue( QString( "%1/isMaximized" ).arg( registryFolderName() ), isMaximized() );
settings.setValue( QString( "%1/dockLayout" ).arg( registryFolderName() ), m_dockManager->saveState( 1 ) );
if ( this->isVisible() )
{
QVariant dockWindowVisibilities = RiuDockWidgetTools::dockWidgetsVisibility( this->dockManager() );
QString key = mainWindowDockWidgetSettingsKey( registryFolderName() );
settings.setValue( key, dockWindowVisibilities );
}
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RiuMainWindowBase::storeDefaultDockWidgetVisibilitiesIfRequired()
{
QSettings settings;
QString key = mainWindowDockWidgetSettingsKey( registryFolderName() );
if ( !settings.contains( key ) )
{
QVariant dockWidgetVisibilities = RiuDockWidgetTools::defaultDockWidgetVisibilities();
settings.setValue( key, dockWidgetVisibilities );
}
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RiuMainWindowBase::restoreDockWidgetVisibilities()
{
// Company and appname set through QCoreApplication
QSettings settings;
QString key = mainWindowDockWidgetSettingsKey( registryFolderName() );
QVariant dockWindowVisibilities = settings.value( key );
RiuDockWidgetTools::applyDockWidgetVisibilities( this->dockManager(), dockWindowVisibilities.toMap() );
}
//--------------------------------------------------------------------------------------------------
@@ -246,20 +206,6 @@ void RiuMainWindowBase::showWindow()
}
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RiuMainWindowBase::hideAllDockWidgets()
{
for ( auto dock : dockManager()->dockWidgetsMap() )
{
if ( dock )
{
dock->hide();
}
}
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------