traverso-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Traverso-commit] traverso/src/traverso/songcanvas SongView.cpp


From: Remon Sijrier
Subject: [Traverso-commit] traverso/src/traverso/songcanvas SongView.cpp
Date: Tue, 27 Nov 2007 18:25:04 +0000

CVSROOT:        /sources/traverso
Module name:    traverso
Changes by:     Remon Sijrier <r_sijrier>       07/11/27 18:25:04

Modified files:
        src/traverso/songcanvas: SongView.cpp 

Log message:
        nope, didn't work like expected too, what about this?

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/traverso/src/traverso/songcanvas/SongView.cpp?cvsroot=traverso&r1=1.88&r2=1.89

Patches:
Index: SongView.cpp
===================================================================
RCS file: /sources/traverso/traverso/src/traverso/songcanvas/SongView.cpp,v
retrieving revision 1.88
retrieving revision 1.89
diff -u -b -r1.88 -r1.89
--- SongView.cpp        27 Nov 2007 18:17:21 -0000      1.88
+++ SongView.cpp        27 Nov 2007 18:25:04 -0000      1.89
@@ -199,11 +199,18 @@
 {
        TrackView* view = new TrackView(this, track);
        
-       m_trackViews.append(view);
+       int sortIndex = track->get_sort_index();
        
-       if (m_trackViews.size() > 1) {
-               int height = 
m_trackViews.at(m_trackViews.size()-2)->get_track()->get_height();
-               
m_trackViews.at(m_trackViews.size()-1)->get_track()->set_height(height);
+       if (sortIndex < 0) {
+               sortIndex = m_trackViews.size();
+               track->set_sort_index(sortIndex);
+       } else {
+               foreach(TrackView* view, m_trackViews) {
+                       if (view->get_track()->get_sort_index() == sortIndex) {
+                               sortIndex = m_trackViews.size();
+                               track->set_sort_index(sortIndex);
+                               break;
+                       }
        }
        
        qSort(m_trackViews.begin(), m_trackViews.end(), smallerTrackView);
@@ -211,6 +218,14 @@
        for(int i=0; i<m_trackViews.size(); ++i) {
                m_trackViews.at(i)->get_track()->set_sort_index(i);
        }
+       }
+       
+       m_trackViews.append(view);
+       
+       if (m_trackViews.size() > 1) {
+               int height = 
m_trackViews.at(m_trackViews.size()-2)->get_track()->get_height();
+               
m_trackViews.at(m_trackViews.size()-1)->get_track()->set_height(height);
+       }
        
        layout_tracks();
 }




reply via email to

[Prev in Thread] Current Thread [Next in Thread]