[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Traverso-commit] traverso/src commands/MoveClip.cpp commands/Mov...
From: |
Remon Sijrier |
Subject: |
[Traverso-commit] traverso/src commands/MoveClip.cpp commands/Mov... |
Date: |
Fri, 13 Apr 2007 11:12:30 +0000 |
CVSROOT: /sources/traverso
Module name: traverso
Changes by: Remon Sijrier <r_sijrier> 07/04/13 11:12:30
Modified files:
src/commands : MoveClip.cpp MoveClip.h PlayHeadMove.cpp
PlayHeadMove.h WorkCursorMove.cpp
WorkCursorMove.h
src/core : InputEngine.cpp
src/traverso/widgets: InfoWidgets.cpp
Log message:
* Add cancel support for move/copy clip, workcursor/playhead move.
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/traverso/src/commands/MoveClip.cpp?cvsroot=traverso&r1=1.31&r2=1.32
http://cvs.savannah.gnu.org/viewcvs/traverso/src/commands/MoveClip.h?cvsroot=traverso&r1=1.16&r2=1.17
http://cvs.savannah.gnu.org/viewcvs/traverso/src/commands/PlayHeadMove.cpp?cvsroot=traverso&r1=1.1&r2=1.2
http://cvs.savannah.gnu.org/viewcvs/traverso/src/commands/PlayHeadMove.h?cvsroot=traverso&r1=1.1&r2=1.2
http://cvs.savannah.gnu.org/viewcvs/traverso/src/commands/WorkCursorMove.cpp?cvsroot=traverso&r1=1.1&r2=1.2
http://cvs.savannah.gnu.org/viewcvs/traverso/src/commands/WorkCursorMove.h?cvsroot=traverso&r1=1.1&r2=1.2
http://cvs.savannah.gnu.org/viewcvs/traverso/src/core/InputEngine.cpp?cvsroot=traverso&r1=1.47&r2=1.48
http://cvs.savannah.gnu.org/viewcvs/traverso/src/traverso/widgets/InfoWidgets.cpp?cvsroot=traverso&r1=1.13&r2=1.14
Patches:
Index: commands/MoveClip.cpp
===================================================================
RCS file: /sources/traverso/traverso/src/commands/MoveClip.cpp,v
retrieving revision 1.31
retrieving revision 1.32
diff -u -b -r1.31 -r1.32
--- commands/MoveClip.cpp 11 Apr 2007 15:56:34 -0000 1.31
+++ commands/MoveClip.cpp 13 Apr 2007 11:12:30 -0000 1.32
@@ -97,7 +97,11 @@
MoveClip::~MoveClip()
-{}
+{
+ if (d) {
+ delete d;
+ }
+}
void MoveClip::audioclip_added(AudioClip * clip)
{
@@ -157,6 +161,7 @@
d->resync = config().get_property("AudioClip", "SyncDuringDrag",
false).toBool();
d->view->set_dragging(true);
d->bypassjog = false;
+ d->origTrackView = d->view->get_trackview();
}
@@ -190,10 +195,7 @@
{
m_clip->set_snappable(true);
d->sv->start_shuttle(false);
-
- if (m_actionType == "anchored_right_edge_move") {
- m_clip->set_left_edge(m_oldOppositeEdge);
- }
+ d->view->set_dragging(false);
return 1;
}
@@ -201,8 +203,12 @@
int MoveClip::prepare_actions()
{
- d->view->set_dragging(false);
delete d;
+ d = 0;
+
+ if (m_actionType == "anchored_right_edge_move") {
+ m_clip->set_left_edge(m_oldOppositeEdge);
+ }
return 1;
}
@@ -266,6 +272,23 @@
return 1;
}
+void MoveClip::cancel_action()
+{
+ finish_hold();
+
+ if (m_actionType == "copy") {
+ Command::process_command(m_originTrack->remove_clip(m_clip,
false));
+
resources_manager()->remove_clip_from_database(m_clip->get_id());
+ } else if (m_actionType == "move") {
+ if (d->resync) {
+
m_clip->set_track_start_frame(m_originalTrackFirstFrame);
+ }
+ d->view->set_trackview(d->origTrackView);
+ d->view->setParentItem(d->origTrackView);
+ d->view->setPos(QPoint(m_originalTrackFirstFrame /
d->sv->scalefactor,
+ d->origTrackView->get_childview_y_offset()));
+ }
+}
int MoveClip::jog()
{
Index: commands/MoveClip.h
===================================================================
RCS file: /sources/traverso/traverso/src/commands/MoveClip.h,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -b -r1.16 -r1.17
--- commands/MoveClip.h 11 Apr 2007 15:56:34 -0000 1.16
+++ commands/MoveClip.h 13 Apr 2007 11:12:30 -0000 1.17
@@ -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.16 2007/04/11 15:56:34 r_sijrier Exp $
+ $Id: MoveClip.h,v 1.17 2007/04/13 11:12:30 r_sijrier Exp $
*/
#ifndef MOVECLIPACTION_H
@@ -32,6 +32,7 @@
class Song;
class Track;
class SongView;
+class TrackView;
class AudioClipView;
class MoveClip : public Command
@@ -49,6 +50,7 @@
int prepare_actions();
int do_action();
int undo_action();
+ void cancel_action();
int jog();
private :
@@ -68,6 +70,7 @@
AudioClip* newclip;
SongView* sv;
AudioClipView* view;
+ TrackView* origTrackView;
QPoint origPos;
nframes_t origTrackStartFrame;
nframes_t origTrackEndFrame;
Index: commands/PlayHeadMove.cpp
===================================================================
RCS file: /sources/traverso/traverso/src/commands/PlayHeadMove.cpp,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- commands/PlayHeadMove.cpp 10 Apr 2007 19:37:57 -0000 1.1
+++ commands/PlayHeadMove.cpp 13 Apr 2007 11:12:30 -0000 1.2
@@ -44,7 +44,7 @@
}
m_cursor->set_active(m_song->is_transporting());
m_song->set_transport_pos( (nframes_t) (x * m_sv->scalefactor));
- m_sv->start_shuttle(true);
+ m_sv->start_shuttle(false);
return -1;
}
@@ -52,10 +52,21 @@
{
m_cursor->show();
m_cursor->set_active(false);
+ m_origXPos = m_song->get_transport_frame() / m_sv->scalefactor;
m_sv->start_shuttle(true, true);
return 1;
}
+void PlayHeadMove::cancel_action()
+{
+ m_sv->start_shuttle(false);
+ m_cursor->set_active(m_song->is_transporting());
+ if (!m_resync) {
+ m_cursor->setPos(m_origXPos, 0);
+ }
+}
+
+
void PlayHeadMove::set_cursor_shape(int useX, int useY)
{
Q_UNUSED(useX);
Index: commands/PlayHeadMove.h
===================================================================
RCS file: /sources/traverso/traverso/src/commands/PlayHeadMove.h,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- commands/PlayHeadMove.h 10 Apr 2007 19:37:57 -0000 1.1
+++ commands/PlayHeadMove.h 13 Apr 2007 11:12:30 -0000 1.2
@@ -36,6 +36,7 @@
int finish_hold();
int begin_hold();
+ void cancel_action();
int jog();
void set_cursor_shape(int useX, int useY);
@@ -45,6 +46,7 @@
Song* m_song;
SongView* m_sv;
bool m_resync;
+ int m_origXPos;
};
#endif
Index: commands/WorkCursorMove.cpp
===================================================================
RCS file: /sources/traverso/traverso/src/commands/WorkCursorMove.cpp,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- commands/WorkCursorMove.cpp 10 Apr 2007 19:37:57 -0000 1.1
+++ commands/WorkCursorMove.cpp 13 Apr 2007 11:12:30 -0000 1.2
@@ -60,9 +60,16 @@
}
m_song->get_work_snap()->set_snappable(false);
m_sv->start_shuttle(true, true);
+ m_origPos = m_song->get_working_frame();
return 1;
}
+void WorkCursorMove::cancel_action()
+{
+ m_sv->start_shuttle(false);
+ m_song->set_work_at(m_origPos);
+}
+
void WorkCursorMove::set_cursor_shape(int useX, int useY)
{
Q_UNUSED(useX);
Index: commands/WorkCursorMove.h
===================================================================
RCS file: /sources/traverso/traverso/src/commands/WorkCursorMove.h,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- commands/WorkCursorMove.h 10 Apr 2007 19:37:57 -0000 1.1
+++ commands/WorkCursorMove.h 13 Apr 2007 11:12:30 -0000 1.2
@@ -23,6 +23,7 @@
#define WORKCURSOR_MOVE_H
#include <Command.h>
+#include <defines.h>
class Song;
class SongView;
@@ -36,6 +37,7 @@
int finish_hold();
int begin_hold();
+ void cancel_action();
int jog();
void set_cursor_shape(int useX, int useY);
@@ -44,6 +46,7 @@
Song* m_song;
SongView* m_sv;
PlayHead* m_playCursor;
+ nframes_t m_origPos;
};
#endif
Index: core/InputEngine.cpp
===================================================================
RCS file: /sources/traverso/traverso/src/core/InputEngine.cpp,v
retrieving revision 1.47
retrieving revision 1.48
diff -u -b -r1.47 -r1.48
--- core/InputEngine.cpp 13 Apr 2007 09:57:35 -0000 1.47
+++ core/InputEngine.cpp 13 Apr 2007 11:12:30 -0000 1.48
@@ -488,11 +488,11 @@
void InputEngine::set_jogging(bool jog)
{
- if (jog) {
- cpointer().grab_mouse();
- } else {
- cpointer().release_mouse();
- }
+// if (jog) {
+// cpointer().grab_mouse();
+// } else {
+// cpointer().release_mouse();
+// }
isJogging = jog;
}
Index: traverso/widgets/InfoWidgets.cpp
===================================================================
RCS file: /sources/traverso/traverso/src/traverso/widgets/InfoWidgets.cpp,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -b -r1.13 -r1.14
--- traverso/widgets/InfoWidgets.cpp 12 Apr 2007 13:43:28 -0000 1.13
+++ traverso/widgets/InfoWidgets.cpp 13 Apr 2007 11:12:30 -0000 1.14
@@ -310,6 +310,7 @@
m_box = new QComboBox;
m_box->setMinimumWidth(140);
+ m_box->setFocusPolicy(Qt::NoFocus);
QHBoxLayout* lay = new QHBoxLayout;
lay->setMargin(0);