timeline minor refactor

This commit is contained in:
itsmattkc
2019-02-17 22:32:18 -08:00
parent 5cf5321c0f
commit a63b4fbe52
10 changed files with 944 additions and 779 deletions
+527 -334
View File
File diff suppressed because it is too large Load Diff
+56 -47
View File
@@ -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