timeline minor refactor
This commit is contained in:
+527
-334
File diff suppressed because it is too large
Load Diff
+56
-47
@@ -25,6 +25,8 @@
|
||||
#include <QWidget>
|
||||
#include <QScrollBar>
|
||||
#include <QPainter>
|
||||
#include <QApplication>
|
||||
#include <QDesktopWidget>
|
||||
|
||||
#include "project/sequence.h"
|
||||
#include "project/clip.h"
|
||||
@@ -36,79 +38,86 @@
|
||||
class Timeline;
|
||||
|
||||
namespace olive {
|
||||
namespace timeline {
|
||||
const int kGhostThickness = 2;
|
||||
const int kClipTextPadding = 3;
|
||||
namespace timeline {
|
||||
const int kGhostThickness = 2;
|
||||
const int kClipTextPadding = 3;
|
||||
|
||||
const int kTrackMinHeight = 30;
|
||||
const int kTrackHeightIncrement = 10;
|
||||
}
|
||||
const int kTrackDefaultHeight = 40/* * QApplication::desktop()->devicePixelRatio()*/;
|
||||
const int kTrackMinHeight = 30;
|
||||
const int kTrackHeightIncrement = 10;
|
||||
}
|
||||
}
|
||||
|
||||
struct TimelineTrackHeight {
|
||||
int index;
|
||||
int height;
|
||||
};
|
||||
|
||||
bool same_sign(int a, int b);
|
||||
void draw_waveform(ClipPtr clip, const FootageStream *ms, long media_length, QPainter* p, const QRect& clip_rect, int waveform_start, int waveform_limit, double zoom);
|
||||
|
||||
class TimelineWidget : public QWidget {
|
||||
Q_OBJECT
|
||||
Q_OBJECT
|
||||
public:
|
||||
explicit TimelineWidget(QWidget *parent = 0);
|
||||
QScrollBar* scrollBar;
|
||||
bool bottom_align;
|
||||
explicit TimelineWidget(QWidget *parent = 0);
|
||||
QScrollBar* scrollBar;
|
||||
bool bottom_align;
|
||||
|
||||
public slots:
|
||||
|
||||
protected:
|
||||
void paintEvent(QPaintEvent*);
|
||||
void paintEvent(QPaintEvent*);
|
||||
|
||||
void resizeEvent(QResizeEvent *event);
|
||||
void resizeEvent(QResizeEvent *event);
|
||||
|
||||
void mouseDoubleClickEvent(QMouseEvent *event);
|
||||
void mousePressEvent(QMouseEvent *event);
|
||||
void mouseReleaseEvent(QMouseEvent *event);
|
||||
void mouseMoveEvent(QMouseEvent *event);
|
||||
void leaveEvent(QEvent *event);
|
||||
void mouseDoubleClickEvent(QMouseEvent *event);
|
||||
void mousePressEvent(QMouseEvent *event);
|
||||
void mouseReleaseEvent(QMouseEvent *event);
|
||||
void mouseMoveEvent(QMouseEvent *event);
|
||||
void leaveEvent(QEvent *event);
|
||||
|
||||
void dragEnterEvent(QDragEnterEvent *event);
|
||||
void dragLeaveEvent(QDragLeaveEvent *event);
|
||||
void dropEvent(QDropEvent* event);
|
||||
void dragMoveEvent(QDragMoveEvent *event);
|
||||
void dragEnterEvent(QDragEnterEvent *event);
|
||||
void dragLeaveEvent(QDragLeaveEvent *event);
|
||||
void dropEvent(QDropEvent* event);
|
||||
void dragMoveEvent(QDragMoveEvent *event);
|
||||
|
||||
void wheelEvent(QWheelEvent *event);
|
||||
void wheelEvent(QWheelEvent *event);
|
||||
private:
|
||||
void init_ghosts();
|
||||
void update_ghosts(const QPoint& mouse_pos, bool lock_frame);
|
||||
bool is_track_visible(int track);
|
||||
int getTrackFromScreenPoint(int y);
|
||||
int getScreenPointFromTrack(int track);
|
||||
int getClipIndexFromCoords(long frame, int track);
|
||||
void init_ghosts();
|
||||
void update_ghosts(const QPoint& mouse_pos, bool lock_frame);
|
||||
bool is_track_visible(int track);
|
||||
int getTrackFromScreenPoint(int y);
|
||||
int getScreenPointFromTrack(int track);
|
||||
int getClipIndexFromCoords(long frame, int track);
|
||||
|
||||
int track_resize_mouse_cache;
|
||||
int track_resize_old_value;
|
||||
bool track_resizing;
|
||||
int track_target;
|
||||
bool track_resizing;
|
||||
int track_target;
|
||||
|
||||
QVector<ClipPtr> pre_clips;
|
||||
QVector<ClipPtr> post_clips;
|
||||
QVector<ClipPtr> pre_clips;
|
||||
QVector<ClipPtr> post_clips;
|
||||
|
||||
Media* rc_reveal_media;
|
||||
Media* rc_reveal_media;
|
||||
|
||||
SequencePtr self_created_sequence;
|
||||
SequencePtr self_created_sequence;
|
||||
|
||||
QTimer tooltip_timer;
|
||||
int tooltip_clip;
|
||||
QTimer tooltip_timer;
|
||||
int tooltip_clip;
|
||||
|
||||
int scroll;
|
||||
int scroll;
|
||||
|
||||
SetSelectionsCommand* selection_command;
|
||||
SetSelectionsCommand* selection_command;
|
||||
signals:
|
||||
|
||||
public slots:
|
||||
void setScroll(int);
|
||||
void setScroll(int);
|
||||
|
||||
private slots:
|
||||
void reveal_media();
|
||||
void show_context_menu(const QPoint& pos);
|
||||
void toggle_autoscale();
|
||||
void tooltip_timer_timeout();
|
||||
void rename_clip();
|
||||
void open_sequence_properties();
|
||||
void reveal_media();
|
||||
void show_context_menu(const QPoint& pos);
|
||||
void toggle_autoscale();
|
||||
void tooltip_timer_timeout();
|
||||
void rename_clip();
|
||||
void open_sequence_properties();
|
||||
};
|
||||
|
||||
#endif // TIMELINEWIDGET_H
|
||||
|
||||
Reference in New Issue
Block a user