various menu improvements

This commit is contained in:
itsmattkc
2018-12-30 20:58:51 +11:00
parent 34fc8b81d2
commit f347c8eabe
9 changed files with 160 additions and 127 deletions
+20 -1
View File
@@ -19,6 +19,7 @@
#include "dialogs/stabilizerdialog.h"
#include "project/media.h"
#include "ui/resizablescrollbar.h"
#include "dialogs/newsequencedialog.h"
#include "debug.h"
#include "project/effect.h"
@@ -133,7 +134,8 @@ void TimelineWidget::show_context_menu(const QPoint& pos) {
connect(ripple_delete_action, SIGNAL(triggered(bool)), this, SLOT(right_click_ripple()));
}
menu.addAction("Sequence settings coming soon...");
QAction* seq_settings = menu.addAction("Sequence Settings");
connect(seq_settings, SIGNAL(triggered(bool)), this, SLOT(open_sequence_properties()));
} else {
// clips are selected
QAction* cutAction = menu.addAction("C&ut");
@@ -256,6 +258,23 @@ void TimelineWidget::show_stabilizer_diag() {
sd.exec();
}
void TimelineWidget::open_sequence_properties() {
QList<Media*> sequence_items;
QList<Media*> all_top_level_items;
for (int i=0;i<project_model.childCount();i++) {
all_top_level_items.append(project_model.child(i));
}
panel_project->get_all_media_from_table(all_top_level_items, sequence_items, MEDIA_TYPE_SEQUENCE); // find all sequences in project
for (int i=0;i<sequence_items.size();i++) {
if (sequence_items.at(i)->to_sequence() == sequence) {
NewSequenceDialog nsd(this, sequence_items.at(i));
nsd.exec();
return;
}
}
QMessageBox::critical(this, "Error", "Couldn't locate media wrapper for sequence.");
}
bool same_sign(int a, int b) {
return (a < 0) == (b < 0);
}
+22 -21
View File
@@ -33,13 +33,13 @@ public:
protected:
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);
@@ -49,18 +49,18 @@ protected:
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);
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;
int track_resize_mouse_cache;
int track_resize_old_value;
bool track_resizing;
int track_target;
QVector<Clip*> pre_clips;
QVector<Clip*> pre_clips;
QVector<Clip*> post_clips;
Sequence* self_created_sequence;
@@ -68,10 +68,10 @@ private:
// used for "right click ripple"
long rc_ripple_min;
long rc_ripple_max;
Media* rc_reveal_media;
Media* rc_reveal_media;
QTimer tooltip_timer;
int tooltip_clip;
QTimer tooltip_timer;
int tooltip_clip;
int scroll;
@@ -84,11 +84,12 @@ public slots:
private slots:
void reveal_media();
void right_click_ripple();
void show_context_menu(const QPoint& pos);
void toggle_autoscale();
void tooltip_timer_timeout();
void show_context_menu(const QPoint& pos);
void toggle_autoscale();
void tooltip_timer_timeout();
void rename_clip();
void show_stabilizer_diag();
void show_stabilizer_diag();
void open_sequence_properties();
};
#endif // TIMELINEWIDGET_H