From: Robert J. <spa...@us...> - 2006-09-19 22:03:37
|
Update of /cvsroot/lmuse/muse/muse/liste In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv3005/muse/liste Modified Files: Tag: REL07 listedit.cpp listedit.h Log Message: see changelog Index: listedit.cpp =================================================================== RCS file: /cvsroot/lmuse/muse/muse/liste/listedit.cpp,v retrieving revision 1.11.2.5 retrieving revision 1.11.2.6 diff -C2 -d -r1.11.2.5 -r1.11.2.6 *** listedit.cpp 1 Jan 2006 20:51:55 -0000 1.11.2.5 --- listedit.cpp 19 Sep 2006 22:03:33 -0000 1.11.2.6 *************** *** 188,191 **** --- 188,196 ---- EventListItem* item = new EventListItem(liste, i->second, part); item->setSelected(i->second.selected()); + if (item->event.tick() == selectedTick) { + liste->setCurrentItem(item); + item->setSelected(true); + liste->ensureItemVisible(item); + } } } *************** *** 689,700 **** case CMD_DELETE: song->startUndo(); for (QListViewItem* i = liste->firstChild(); i; i = i->nextSibling()) { EventListItem *item = (EventListItem *) i; ! if (i->isSelected() || item->event.selected()) audio->msgDeleteEvent(item->event, item->part, false); ! } song->endUndo(SC_EVENT_MODIFIED); break; } --- 694,726 ---- case CMD_DELETE: song->startUndo(); + EventListItem *deletedEvent=NULL; for (QListViewItem* i = liste->firstChild(); i; i = i->nextSibling()) { EventListItem *item = (EventListItem *) i; ! if (i->isSelected() || item->event.selected()) { ! deletedEvent=item; audio->msgDeleteEvent(item->event, item->part, false); ! } ! } ! unsigned int nextTick=0; ! // find biggest tick ! for (QListViewItem* i = liste->firstChild(); i; i = i->nextSibling()) { ! EventListItem *item = (EventListItem *) i; ! if (item->event.tick() > nextTick && item != deletedEvent) ! nextTick=item->event.tick(); ! } ! // check if there's a tick that is "just" bigger than the deleted ! for (QListViewItem* i = liste->firstChild(); i; i = i->nextSibling()) { ! EventListItem *item = (EventListItem *) i; ! if (item->event.tick() >= deletedEvent->event.tick() && ! item->event.tick() < nextTick && ! item != deletedEvent ) { ! nextTick=item->event.tick(); } + } + selectedTick=nextTick; song->endUndo(SC_EVENT_MODIFIED); + //printf("selected tick = %d\n", selectedTick); + //emit selectionChanged(); break; } Index: listedit.h =================================================================== RCS file: /cvsroot/lmuse/muse/muse/liste/listedit.h,v retrieving revision 1.3.2.2 retrieving revision 1.3.2.3 diff -C2 -d -r1.3.2.2 -r1.3.2.3 *** listedit.h 11 Dec 2005 21:29:23 -0000 1.3.2.2 --- listedit.h 19 Sep 2006 22:03:33 -0000 1.3.2.3 *************** *** 35,38 **** --- 35,39 ---- MidiTrack* curTrack; MidiPart* curPart; + int selectedTick; int curPartId; |