From 84a6d0bf021e2a35628c39daaa8a67f594843ba1 Mon Sep 17 00:00:00 2001 From: Lukas W Date: Fri, 24 Jan 2014 15:45:13 +0100 Subject: [PATCH] Add "Save as new version" action to project menu Use Shortcut Ctrl+Alt+S. Part of issue #86 --- include/MainWindow.h | 1 + src/gui/MainWindow.cpp | 22 ++++++++++++++++++++++ 2 files changed, 23 insertions(+) diff --git a/include/MainWindow.h b/include/MainWindow.h index 6335c64017..8a10f13517 100644 --- a/include/MainWindow.h +++ b/include/MainWindow.h @@ -102,6 +102,7 @@ public slots: void openProject( void ); bool saveProject( void ); bool saveProjectAs( void ); + bool saveProjectAsNewVersion( void ); void showSettingsDialog( void ); void aboutLMMS( void ); void help( void ); diff --git a/src/gui/MainWindow.cpp b/src/gui/MainWindow.cpp index 002237f638..682be6868d 100644 --- a/src/gui/MainWindow.cpp +++ b/src/gui/MainWindow.cpp @@ -243,6 +243,10 @@ void MainWindow::finalize( void ) this, SLOT( saveProject() ), Qt::CTRL + Qt::Key_S ); + project_menu->addAction( embed::getIconPixmap( "project_save" ), + tr( "Save as new &version" ), + this, SLOT( saveProjectAsNewVersion() ), + Qt::CTRL + Qt::ALT + Qt::Key_S ); project_menu->addAction( embed::getIconPixmap( "project_saveas" ), tr( "Save &As..." ), this, SLOT( saveProjectAs() ), @@ -776,6 +780,24 @@ bool MainWindow::saveProjectAs( void ) +bool MainWindow::saveProjectAsNewVersion( void ) +{ + QString fileName = engine::getSong()->projectFileName(); + if( fileName == "" ) + { + return saveProjectAs(); + } + else + { + VersionedSaveDialog::changeFileNameVersion( fileName, true ); + engine::getSong()->guiSaveProjectAs( fileName ); + return true; + } +} + + + + void MainWindow::showSettingsDialog( void ) { setupDialog sd;