# HG changeset patch # User matthiasm # Date 1402603677 -3600 # Node ID 1e9c4549107a20c9f577018610df75f41ad8683e # Parent 585c045129c921d982a8928591b6641b6441b8ad added Save In Audio Path option for saving diff -r 585c045129c9 -r 1e9c4549107a src/MainWindow.cpp --- a/src/MainWindow.cpp Thu Jun 12 18:52:52 2014 +0100 +++ b/src/MainWindow.cpp Thu Jun 12 21:07:57 2014 +0100 @@ -478,6 +478,15 @@ menu->addAction(action); toolbar->addAction(action); + icon = il.load("filesaveas"); + icon.addPixmap(il.loadPixmap("filesaveas-22")); + action = new QAction(icon, tr("Save Session In &Audio Path"), this); + action->setShortcut(tr("Ctrl+Alt+S")); + action->setStatusTip(tr("Save the current session into a %1 session file with the same path and filename but .ton extension.").arg(QApplication::applicationName())); + connect(action, SIGNAL(triggered()), this, SLOT(saveSessionInAudioPath())); + menu->addAction(action); + toolbar->addAction(action); + menu->addSeparator(); action = new QAction(tr("I&mport Pitch Track Data..."), this); @@ -1793,6 +1802,35 @@ } void +MainWindow::saveSessionInAudioPath() +{ + // We do not want to save mid-analysis regions -- that would cause + // confusion on reloading + m_analyser->clearReAnalysis(); + clearSelection(); + + QString filepath = QFileInfo(m_audioFile).absoluteDir().canonicalPath(); + QString basename = QFileInfo(m_audioFile).completeBaseName(); + + QString path = QDir(filepath).filePath(basename + ".ton"); + + cerr << path << endl; + + if (!saveSessionFile(path)) { + QMessageBox::critical(this, tr("Failed to save file"), + tr("Session file \"%1\" could not be saved.").arg(path)); + } else { + setWindowTitle(tr("%1: %2") + .arg(QApplication::applicationName()) + .arg(QFileInfo(path).fileName())); + m_sessionFile = path; + CommandHistory::getInstance()->documentSaved(); + documentRestored(); + m_recentFiles.addFile(path); + } +} + +void MainWindow::saveSessionAs() { // We do not want to save mid-analysis regions -- that would cause diff -r 585c045129c9 -r 1e9c4549107a src/MainWindow.h --- a/src/MainWindow.h Thu Jun 12 18:52:52 2014 +0100 +++ b/src/MainWindow.h Thu Jun 12 21:07:57 2014 +0100 @@ -47,6 +47,7 @@ virtual void openLocation(); virtual void openRecentFile(); virtual void saveSession(); + virtual void saveSessionInAudioPath(); virtual void saveSessionAs(); virtual void exportPitchLayer(); virtual void exportNoteLayer();