Skip to content
Permalink
Browse files

Always reread recent projects before saving new ones

Avoids loss of recent projects from menu if working in multiple
QGIS sessions concurrently
  • Loading branch information
nyalldawson committed Feb 23, 2017
1 parent 5bbdb1f commit f45c19cfabfdba337fcb3cdb7415d731d3ad825c
Showing with 18 additions and 6 deletions.
  1. +15 −6 src/app/qgisapp.cpp
  2. +3 −0 src/app/qgisapp.h
@@ -1536,14 +1536,9 @@ QgisAppStyleSheet* QgisApp::styleSheetBuilder()
return mStyleSheetBuilder;
}

// restore any application settings stored in QSettings
void QgisApp::readSettings()
void QgisApp::readRecentProjects()
{
QSettings settings;
QString themename = settings.value( QStringLiteral( "UI/UITheme" ), "default" ).toString();
setTheme( themename );

// Read legacy settings
mRecentProjects.clear();

settings.beginGroup( QStringLiteral( "/UI" ) );
@@ -1587,6 +1582,16 @@ void QgisApp::readSettings()
mRecentProjects.append( data );
}
settings.endGroup();
}

void QgisApp::readSettings()
{
QSettings settings;
QString themename = settings.value( QStringLiteral( "UI/UITheme" ), "default" ).toString();
setTheme( themename );

// Read legacy settings
readRecentProjects();

// this is a new session! reset enable macros value to "ask"
// whether set to "just for this session"
@@ -3354,6 +3359,10 @@ void QgisApp::updateRecentProjectPaths()
// add this file to the recently opened/saved projects list
void QgisApp::saveRecentProjectPath( const QString& projectPath, bool savePreviewImage )
{
// first, re-read the recent project paths. This prevents loss of recent
// projects when multiple QGIS sessions are open
readRecentProjects();

QSettings settings;

// Get canonical absolute path
@@ -1534,6 +1534,9 @@ class APP_EXPORT QgisApp : public QMainWindow, private Ui::MainWindow
//! Copy a vector style from a layer to another one, if they have the same geometry type
void duplicateVectorStyle( QgsVectorLayer* srcLayer, QgsVectorLayer* destLayer );

//! Loads the list of recent projects from settings
void readRecentProjects();

QgisAppStyleSheet *mStyleSheetBuilder = nullptr;

// actions for menus and toolbars -----------------

0 comments on commit f45c19c

Please sign in to comment.
You can’t perform that action at this time.