traverso-commit
[Top][All Lists]
Advanced

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

[Traverso-commit] traverso/src/commands MoveClip.cpp MoveClip.h


From: Remon Sijrier
Subject: [Traverso-commit] traverso/src/commands MoveClip.cpp MoveClip.h
Date: Thu, 07 Feb 2008 18:04:00 +0000

CVSROOT:        /sources/traverso
Module name:    traverso
Changes by:     Remon Sijrier <r_sijrier>       08/02/07 18:04:00

Modified files:
        src/commands   : MoveClip.cpp MoveClip.h 

Log message:
        * do not rely on the horizontal scrollbar value to determine to x diff 
in case the scrollbar moved due auto-shuttle. 
        Instead, use scene coordinates.
        And a bit of fiddling with zoom, not yet there 

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/traverso/src/commands/MoveClip.cpp?cvsroot=traverso&r1=1.56&r2=1.57
http://cvs.savannah.gnu.org/viewcvs/traverso/src/commands/MoveClip.h?cvsroot=traverso&r1=1.23&r2=1.24

Patches:
Index: MoveClip.cpp
===================================================================
RCS file: /sources/traverso/traverso/src/commands/MoveClip.cpp,v
retrieving revision 1.56
retrieving revision 1.57
diff -u -b -r1.56 -r1.57
--- MoveClip.cpp        7 Feb 2008 15:35:07 -0000       1.56
+++ MoveClip.cpp        7 Feb 2008 18:04:00 -0000       1.57
@@ -154,9 +154,8 @@
        m_originTrack = m_targetTrack = m_clip->get_track();
        m_originalTrackStartLocation = m_clip->get_track_start_location();
        m_posDiff = TimeRef();
-       d->origXPos = cpointer().on_first_input_event_x();
-       d->origPos = QPoint(d->origXPos, cpointer().on_first_input_event_y());
-       d->hScrollbarValue = d->sv->hscrollbar_value();
+       d->origXPos = cpointer().scene_x();
+       d->origPos = QPointF(d->origXPos, cpointer().scene_y());
        d->sv->start_shuttle(true, true);
        d->origTrackStartLocation = m_clip->get_track_start_location();
        d->origTrackEndLocation = m_clip->get_track_end_location();
@@ -315,12 +314,10 @@
        
        d->jogBypassPos = cpointer().pos();
        
-       int scrollbardif = d->hScrollbarValue - d->sv->hscrollbar_value();
-       
-       QPointF diffPoint(cpointer().pos() - d->origPos);
+       QPointF diffPoint(cpointer().scene_pos() - d->origPos);
        QPointF newPos(d->view->pos() + diffPoint);
        
-       d->origPos = cpointer().pos();
+       d->origPos = cpointer().scene_pos();
        
        if (m_actionType != "anchored_left_edge_move" && m_actionType != 
"anchored_right_edge_move") {
                TrackView* trackView = 
d->sv->get_trackview_under(cpointer().scene_pos());
@@ -332,9 +329,9 @@
                }
        }
 
-       int newXPos = cpointer().x() - scrollbardif;
+       int newXPos = cpointer().scene_x();
 
-       TimeRef diff_f = TimeRef((cpointer().x() - d->origXPos - scrollbardif) 
* d->sv->timeref_scalefactor);
+       TimeRef diff_f = TimeRef((cpointer().scene_x() - d->origXPos) * 
d->sv->timeref_scalefactor);
        TimeRef newTrackStartLocation;
        TimeRef newTrackEndLocation = d->origTrackEndLocation + diff_f;
 
@@ -381,6 +378,8 @@
        
        d->sv->update_shuttle_factor();
 
+       
cpointer().get_viewport()->set_holdcursor_pos(d->sv->get_clips_viewport()->mapToScene(cpointer().pos()).toPoint());
+
        return 1;
 }
 
@@ -476,17 +475,26 @@
 
 void MoveClip::start_zoom(bool autorepeat)
 {
+       if (autorepeat) return;
+       
        if (!d->zoom) {
                d->zoom = new Zoom(d->sv, QList<QVariant>() << "HJogZoom" << 
"1.2" << "0.2");
                d->zoom->begin_hold();
                
cpointer().get_viewport()->set_holdcursor(":/cursorZoomHorizontal");
                d->sv->start_shuttle(false);
        } else {
-               d->zoom->finish_hold();
                delete d->zoom;
                d->zoom = 0;
                cpointer().get_viewport()->set_holdcursor(":/cursorHoldLrud");
+               d->origPos = cpointer().scene_pos();
                d->sv->start_shuttle(true, true);
        }
 }
 
+void MoveClip::set_cursor_shape(int useX, int useY)
+{
+       Q_UNUSED(useX);
+       Q_UNUSED(useY);
+       cpointer().get_viewport()->set_holdcursor(":/cursorHoldLrud");
+}
+

Index: MoveClip.h
===================================================================
RCS file: /sources/traverso/traverso/src/commands/MoveClip.h,v
retrieving revision 1.23
retrieving revision 1.24
diff -u -b -r1.23 -r1.24
--- MoveClip.h  7 Feb 2008 15:35:07 -0000       1.23
+++ MoveClip.h  7 Feb 2008 18:04:00 -0000       1.24
@@ -17,7 +17,7 @@
     along with this program; if not, write to the Free Software
     Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA.
  
-    $Id: MoveClip.h,v 1.23 2008/02/07 15:35:07 r_sijrier Exp $
+    $Id: MoveClip.h,v 1.24 2008/02/07 18:04:00 r_sijrier Exp $
 */
 
 #ifndef MOVECLIPACTION_H
@@ -55,6 +55,8 @@
        void cancel_action();
         int jog();
        
+       void set_cursor_shape(int useX, int useY);
+       
 private :
        Sheet*          m_sheet;
        AudioClip*      m_clip;
@@ -67,13 +69,12 @@
        
        struct Data {
                int             origXPos;
-               int             hScrollbarValue;
                TimeRef         xoffset;
                AudioClip*      newclip;
                SheetView*      sv;
                AudioClipView*  view;
                TrackView*      origTrackView;
-               QPoint          origPos;
+               QPointF         origPos;
                TimeRef         origTrackStartLocation;
                TimeRef         origTrackEndLocation;
                bool            resync;




reply via email to

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