[Top][All Lists]
[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;
- [Traverso-commit] traverso/src/commands MoveClip.cpp MoveClip.h,
Remon Sijrier <=