From a371ff0ea1d516ca3d3947751d0d0ac728fdedee Mon Sep 17 00:00:00 2001 From: Oskar Wallgren Date: Sat, 10 Jun 2017 20:38:17 +0200 Subject: [PATCH] Some fixes to recent files (#3621) * Add a factory default data/projects/templates/default.mpt. Fixes #528 * On launch, if the last project was a template we create a new project (default.mpt) instead. * If there is a recovery file present and you discard it we create a new project as the project launched could be defective or, if .lmmsrc.xml wasn't written, an earlier project. --- data/projects/templates/default.mpt | 89 +++++++++++++++++++++++++++++ src/core/ConfigManager.cpp | 3 +- src/core/main.cpp | 6 +- src/gui/MainWindow.cpp | 9 ++- 4 files changed, 102 insertions(+), 5 deletions(-) create mode 100644 data/projects/templates/default.mpt diff --git a/data/projects/templates/default.mpt b/data/projects/templates/default.mpt new file mode 100644 index 00000000000..18fcdd92592 --- /dev/null +++ b/data/projects/templates/default.mpt @@ -0,0 +1,89 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Enter project notes here

]]>
+ + + + diff --git a/src/core/ConfigManager.cpp b/src/core/ConfigManager.cpp index c9cf773572c..5ccb4d345d4 100644 --- a/src/core/ConfigManager.cpp +++ b/src/core/ConfigManager.cpp @@ -282,7 +282,8 @@ void ConfigManager::addRecentlyOpenedProject( const QString & file ) { QFileInfo recentFile( file ); if( recentFile.suffix().toLower() == "mmp" || - recentFile.suffix().toLower() == "mmpz" ) + recentFile.suffix().toLower() == "mmpz" || + recentFile.suffix().toLower() == "mpt" ) { m_recentlyOpenedProjects.removeAll( file ); if( m_recentlyOpenedProjects.size() > 50 ) diff --git a/src/core/main.cpp b/src/core/main.cpp index 5dbea309973..617e3804d79 100644 --- a/src/core/main.cpp +++ b/src/core/main.cpp @@ -846,13 +846,15 @@ int main( int argc, char * * argv ) else if( ConfigManager::inst()-> value( "app", "openlastproject" ).toInt() && !ConfigManager::inst()-> - recentlyOpenedProjects().isEmpty() ) + recentlyOpenedProjects().isEmpty() && + !recoveryFilePresent ) { QString f = ConfigManager::inst()-> recentlyOpenedProjects().first(); QFileInfo recentFile( f ); - if ( recentFile.exists() ) + if ( recentFile.exists() && + recentFile.suffix().toLower() != "mpt" ) { Engine::getSong()->loadProject( f ); } diff --git a/src/gui/MainWindow.cpp b/src/gui/MainWindow.cpp index 09524238e6d..ddd2faacf8c 100644 --- a/src/gui/MainWindow.cpp +++ b/src/gui/MainWindow.cpp @@ -876,8 +876,8 @@ void MainWindow::updateRecentlyOpenedProjectsMenu() m_recentlyOpenedProjectsMenu->clear(); QStringList rup = ConfigManager::inst()->recentlyOpenedProjects(); -// The file history goes 30 deep but we only show the 15 -// most recent ones that we can open. +// The file history goes 50 deep but we only show the 15 +// most recent ones that we can open and omit .mpt files. int shownInMenu = 0; for( QStringList::iterator it = rup.begin(); it != rup.end(); ++it ) { @@ -885,6 +885,11 @@ void MainWindow::updateRecentlyOpenedProjectsMenu() if ( recentFile.exists() && *it != ConfigManager::inst()->recoveryFile() ) { + if( recentFile.suffix().toLower() == "mpt" ) + { + continue; + } + m_recentlyOpenedProjectsMenu->addAction( embed::getIconPixmap( "project_file" ), *it ); #ifdef LMMS_BUILD_APPLE