From: <ted...@us...> - 2012-02-28 23:31:23
|
Revision: 12846 http://rosegarden.svn.sourceforge.net/rosegarden/?rev=12846&view=rev Author: tedfelix Date: 2012-02-28 23:31:17 +0000 (Tue, 28 Feb 2012) Log Message: ----------- Move TrackButtons::checkAudioPath() to RosegardenDocument. Modified Paths: -------------- trunk/rosegarden/src/document/RosegardenDocument.cpp trunk/rosegarden/src/document/RosegardenDocument.h trunk/rosegarden/src/gui/editors/segment/TrackButtons.cpp trunk/rosegarden/src/gui/editors/segment/TrackButtons.h Modified: trunk/rosegarden/src/document/RosegardenDocument.cpp =================================================================== --- trunk/rosegarden/src/document/RosegardenDocument.cpp 2012-02-28 14:09:30 UTC (rev 12845) +++ trunk/rosegarden/src/document/RosegardenDocument.cpp 2012-02-28 23:31:17 UTC (rev 12846) @@ -3014,5 +3014,40 @@ return instrument; } +void +RosegardenDocument::checkAudioPath(Track *track) +{ + // Might consider calling this from a trackChanged() handler. Although + // it might not be a good idea to do a dialog from there, and the dialog + // could keep popping up over and over without some sort of static flag. + + if (!track->isArmed()) + return; + + Instrument *instrument = + getStudio().getInstrumentById(track->getInstrument()); + + bool audio = (instrument && + instrument->getType() == Instrument::Audio); + + if (!audio) + return; + + try { + getAudioFileManager().testAudioPath(); + } catch (AudioFileManager::BadAudioPathException & /*e*/) { + // ho ho, here was the real culprit: this dialog inherited style + // from the track button, hence the weird background and black + // foreground! + if (QMessageBox::warning(0, + tr("Warning"), + tr("The audio file path does not exist or is not writable.\nPlease set the audio file path to a valid directory in Document Properties before recording audio.\nWould you like to set it now?"), + QMessageBox::Yes | QMessageBox::Cancel, QMessageBox::Cancel + ) == QMessageBox::Yes) { + RosegardenMainWindow::self()->slotOpenAudioPathSettings(); + } + } } + +} #include "RosegardenDocument.moc" Modified: trunk/rosegarden/src/document/RosegardenDocument.h =================================================================== --- trunk/rosegarden/src/document/RosegardenDocument.h 2012-02-28 14:09:30 UTC (rev 12845) +++ trunk/rosegarden/src/document/RosegardenDocument.h 2012-02-28 23:31:17 UTC (rev 12846) @@ -449,6 +449,9 @@ static const unsigned int MinNbOfTracks; // 64 + /// Verify that the audio path exists and can be written to. + void checkAudioPath(Track *track); + public slots: /** * calls repaint() on all views connected to the document object Modified: trunk/rosegarden/src/gui/editors/segment/TrackButtons.cpp =================================================================== --- trunk/rosegarden/src/gui/editors/segment/TrackButtons.cpp 2012-02-28 14:09:30 UTC (rev 12845) +++ trunk/rosegarden/src/gui/editors/segment/TrackButtons.cpp 2012-02-28 23:31:17 UTC (rev 12846) @@ -432,43 +432,6 @@ } void -TrackButtons::checkAudioPath(Track *track) -{ - // This routine appears to be at the "doc" level. Consider moving - // it there. Then it can be called easily by anyone. - // Might consider calling it from a trackChanged() handler. Although - // it might not be a good idea to do a dialog from there, and the dialog - // could keep popping up over and over without some sort of static flag. - - if (!track->isArmed()) - return; - - Instrument *instrument = - m_doc->getStudio().getInstrumentById(track->getInstrument()); - - bool audio = (instrument && - instrument->getType() == Instrument::Audio); - - if (!audio) - return; - - try { - m_doc->getAudioFileManager().testAudioPath(); - } catch (AudioFileManager::BadAudioPathException e) { - // ho ho, here was the real culprit: this dialog inherited style - // from the track button, hence the weird background and black - // foreground! - if (QMessageBox::warning(0, - tr("Warning"), - tr("The audio file path does not exist or is not writable.\nPlease set the audio file path to a valid directory in Document Properties before recording audio.\nWould you like to set it now?"), - QMessageBox::Yes | QMessageBox::Cancel, QMessageBox::Cancel - ) == QMessageBox::Yes) { - RosegardenMainWindow::self()->slotOpenAudioPathSettings(); - } - } -} - -void TrackButtons::slotToggleRecord(int position) { //RG_DEBUG << "TrackButtons::slotToggleRecord(" << position << ")"; @@ -489,7 +452,7 @@ // Update the Track m_doc->getComposition().setTrackRecording(track->getId(), state); - checkAudioPath(track); + m_doc->checkAudioPath(track); // This appears to be handled by no one. // emit recordButton(track->getId(), state); Modified: trunk/rosegarden/src/gui/editors/segment/TrackButtons.h =================================================================== --- trunk/rosegarden/src/gui/editors/segment/TrackButtons.h 2012-02-28 14:09:30 UTC (rev 12845) +++ trunk/rosegarden/src/gui/editors/segment/TrackButtons.h 2012-02-28 23:31:17 UTC (rev 12846) @@ -279,8 +279,6 @@ */ void setRecordButton(int position, bool record); - void checkAudioPath(Track *track); - /// Creates and syncs the buttons for all the tracks. void makeButtons(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |