From: <nic...@us...> - 2006-06-22 17:40:58
|
Revision: 876 Author: nicola_f Date: 2006-06-22 10:40:38 -0700 (Thu, 22 Jun 2006) ViewCVS: http://svn.sourceforge.net/wired/?rev=876&view=rev Log Message: ----------- 1494994 No scroll resize when copy/paste There's still a bug : the end cursor has to be moved if the end of the pasted pattern is above the end cursor. (SequencerGui::PasteItems()) Modified Paths: -------------- trunk/wired/src/gui/SequencerGui.cpp Modified: trunk/wired/src/gui/SequencerGui.cpp =================================================================== --- trunk/wired/src/gui/SequencerGui.cpp 2006-06-22 15:53:12 UTC (rev 875) +++ trunk/wired/src/gui/SequencerGui.cpp 2006-06-22 17:40:38 UTC (rev 876) @@ -907,11 +907,27 @@ void SequencerGui::PasteItems() { vector<Pattern *>::iterator j; + Pattern *pattern; for (j = CopyItems.begin(); j != CopyItems.end(); j++) { - ((Pattern *) *j)->CreateCopy(((Pattern *) *j)->GetEndPosition()); - + pattern = ((Pattern *) *j)->CreateCopy(((Pattern *) *j)->GetEndPosition()); + /* If the end of pattern is above the end of the Sequencer, we raise the size of the Sequencer */ + if ((((Pattern *) *j)->GetXPos(((Pattern *) *j)->GetEndPosition()) + (((Pattern *) *j)->GetSize()).GetWidth()) > SeqView->GetTotalWidth()) + { + SeqView->SetTotalWidth((long) (pattern->GetXPos(((Pattern *) *j)->GetEndPosition()) + (((Pattern *) *j)->GetSize()).GetWidth())); + Seq->EndPos = pattern->GetEndPosition(); + AdjustHScrolling(); + } + /* TODO : correct this */ + /* We move end's cursor if the end of the pattern is above it */ + if (EndCursor->GetPos() < pattern->GetEndPosition()) + { + EndCursor->SetPos(pattern->GetEndPosition()); + RedrawCursors(); + AdjustHScrolling(); + SeqView->Refresh(); + } } if (DoCut) DeleteSelectedPatterns(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |