moved undostack to its own source file
This commit is contained in:
@@ -20,6 +20,7 @@
|
||||
|
||||
#include "checkboxex.h"
|
||||
|
||||
#include "undo/undostack.h"
|
||||
#include "undo/undo.h"
|
||||
|
||||
CheckboxEx::CheckboxEx(QWidget* parent) : QCheckBox(parent) {
|
||||
|
||||
@@ -33,6 +33,7 @@
|
||||
#include "timeline/sequence.h"
|
||||
#include "ui/keyframedrawing.h"
|
||||
#include "undo/undo.h"
|
||||
#include "undo/undostack.h"
|
||||
#include "effects/effect.h"
|
||||
#include "timeline/clip.h"
|
||||
#include "ui/rectangleselect.h"
|
||||
|
||||
+5
-4
@@ -20,6 +20,10 @@
|
||||
|
||||
#include "keyframeview.h"
|
||||
|
||||
#include <QMouseEvent>
|
||||
#include <QtMath>
|
||||
#include <QMenu>
|
||||
|
||||
#include "effects/effect.h"
|
||||
#include "ui/collapsiblewidget.h"
|
||||
#include "panels/panels.h"
|
||||
@@ -27,6 +31,7 @@
|
||||
#include "panels/timeline.h"
|
||||
#include "ui/timelineheader.h"
|
||||
#include "undo/undo.h"
|
||||
#include "undo/undostack.h"
|
||||
#include "panels/viewer.h"
|
||||
#include "ui/viewerwidget.h"
|
||||
#include "timeline/sequence.h"
|
||||
@@ -38,10 +43,6 @@
|
||||
#include "effects/keyframe.h"
|
||||
#include "ui/graphview.h"
|
||||
|
||||
#include <QMouseEvent>
|
||||
#include <QtMath>
|
||||
#include <QMenu>
|
||||
|
||||
KeyframeView::KeyframeView(QWidget *parent) :
|
||||
QWidget(parent),
|
||||
visible_in(0),
|
||||
|
||||
+22
-30
@@ -20,35 +20,6 @@
|
||||
|
||||
#include "mainwindow.h"
|
||||
|
||||
#include "global/global.h"
|
||||
|
||||
#include "ui/menuhelper.h"
|
||||
|
||||
#include "project/projectelements.h"
|
||||
#include "timeline/clip.h"
|
||||
|
||||
#include "global/config.h"
|
||||
#include "global/path.h"
|
||||
#include "global/debug.h"
|
||||
|
||||
#include "project/proxygenerator.h"
|
||||
#include "project/projectfilter.h"
|
||||
|
||||
#include "ui/sourcetable.h"
|
||||
#include "ui/viewerwidget.h"
|
||||
#include "ui/sourceiconview.h"
|
||||
#include "ui/timelineheader.h"
|
||||
#include "ui/icons.h"
|
||||
#include "ui/cursors.h"
|
||||
#include "ui/focusfilter.h"
|
||||
|
||||
#include "panels/panels.h"
|
||||
|
||||
#include "dialogs/debugdialog.h"
|
||||
|
||||
#include "rendering/audio.h"
|
||||
#include "rendering/renderfunctions.h"
|
||||
|
||||
#include <QStyleFactory>
|
||||
#include <QMessageBox>
|
||||
#include <QFileDialog>
|
||||
@@ -65,7 +36,27 @@
|
||||
#include <QPushButton>
|
||||
#include <QTranslator>
|
||||
|
||||
Q_DECLARE_METATYPE(ClipPtr);
|
||||
#include "global/global.h"
|
||||
#include "ui/menuhelper.h"
|
||||
#include "project/projectelements.h"
|
||||
#include "timeline/clip.h"
|
||||
#include "global/config.h"
|
||||
#include "global/path.h"
|
||||
#include "global/debug.h"
|
||||
#include "project/proxygenerator.h"
|
||||
#include "project/projectfilter.h"
|
||||
#include "ui/sourcetable.h"
|
||||
#include "ui/viewerwidget.h"
|
||||
#include "ui/sourceiconview.h"
|
||||
#include "ui/timelineheader.h"
|
||||
#include "ui/icons.h"
|
||||
#include "ui/cursors.h"
|
||||
#include "ui/focusfilter.h"
|
||||
#include "panels/panels.h"
|
||||
#include "dialogs/debugdialog.h"
|
||||
#include "rendering/audio.h"
|
||||
#include "rendering/renderfunctions.h"
|
||||
#include "undo/undostack.h"
|
||||
|
||||
MainWindow* olive::MainWindow;
|
||||
|
||||
@@ -982,6 +973,7 @@ void MainWindow::closeEvent(QCloseEvent *e) {
|
||||
// stop proxy generator thread
|
||||
olive::proxy_generator.cancel();
|
||||
|
||||
panel_graph_editor->set_row(nullptr);
|
||||
panel_effect_controls->Clear(true);
|
||||
|
||||
olive::Global->set_sequence(nullptr);
|
||||
|
||||
+13
-7
@@ -122,15 +122,21 @@ void MenuHelper::make_clip_functions_menu(QMenu *parent) {
|
||||
parent->addAction(nest_);
|
||||
}
|
||||
|
||||
void MenuHelper::make_edit_functions_menu(QMenu *parent) {
|
||||
parent->addAction(cut_);
|
||||
parent->addAction(copy_);
|
||||
void MenuHelper::make_edit_functions_menu(QMenu *parent, bool objects_are_selected) {
|
||||
if (objects_are_selected) {
|
||||
parent->addAction(cut_);
|
||||
parent->addAction(copy_);
|
||||
}
|
||||
|
||||
parent->addAction(paste_);
|
||||
parent->addAction(paste_insert_);
|
||||
parent->addAction(duplicate_);
|
||||
parent->addAction(delete_);
|
||||
parent->addAction(ripple_delete_);
|
||||
parent->addAction(split_);
|
||||
|
||||
if (objects_are_selected) {
|
||||
parent->addAction(duplicate_);
|
||||
parent->addAction(delete_);
|
||||
parent->addAction(ripple_delete_);
|
||||
parent->addAction(split_);
|
||||
}
|
||||
}
|
||||
|
||||
void MenuHelper::set_bool_action_checked(QAction *a) {
|
||||
|
||||
+6
-1
@@ -75,8 +75,13 @@ public:
|
||||
* @param parent
|
||||
*
|
||||
* The menu to add items to.
|
||||
*
|
||||
* @param objects_are_selected
|
||||
*
|
||||
* Some extra functions may be hidden in the event no clip is actually selected. Set this to **FALSE** to hide those
|
||||
* functions.
|
||||
*/
|
||||
void make_edit_functions_menu(QMenu* parent);
|
||||
void make_edit_functions_menu(QMenu* parent, bool objects_are_selected = true);
|
||||
|
||||
/**
|
||||
* @brief Sets the checked state of a menu item based on a Boolean variable.
|
||||
|
||||
@@ -20,6 +20,13 @@
|
||||
|
||||
#include "timelineheader.h"
|
||||
|
||||
#include <QPainter>
|
||||
#include <QMouseEvent>
|
||||
#include <QScrollBar>
|
||||
#include <QtMath>
|
||||
#include <QMenu>
|
||||
#include <QAction>
|
||||
|
||||
#include "mainwindow.h"
|
||||
#include "panels/panels.h"
|
||||
#include "panels/timeline.h"
|
||||
@@ -31,13 +38,7 @@
|
||||
#include "global/global.h"
|
||||
#include "ui/menuhelper.h"
|
||||
#include "global/debug.h"
|
||||
|
||||
#include <QPainter>
|
||||
#include <QMouseEvent>
|
||||
#include <QScrollBar>
|
||||
#include <QtMath>
|
||||
#include <QMenu>
|
||||
#include <QAction>
|
||||
#include "undo/undostack.h"
|
||||
|
||||
#define CLICK_RANGE 5
|
||||
#define PLAYHEAD_SIZE 6
|
||||
|
||||
+30
-37
@@ -20,32 +20,6 @@
|
||||
|
||||
#include "timelinewidget.h"
|
||||
|
||||
#include "global/global.h"
|
||||
#include "panels/panels.h"
|
||||
#include "project/projectelements.h"
|
||||
|
||||
#include "rendering/audio.h"
|
||||
#include "global/config.h"
|
||||
#include "ui/sourcetable.h"
|
||||
#include "ui/sourceiconview.h"
|
||||
#include "undo/undo.h"
|
||||
#include "ui/viewerwidget.h"
|
||||
#include "ui/resizablescrollbar.h"
|
||||
#include "dialogs/newsequencedialog.h"
|
||||
#include "mainwindow.h"
|
||||
#include "ui/rectangleselect.h"
|
||||
#include "rendering/renderfunctions.h"
|
||||
#include "ui/cursors.h"
|
||||
#include "ui/menuhelper.h"
|
||||
#include "ui/focusfilter.h"
|
||||
#include "dialogs/clippropertiesdialog.h"
|
||||
#include "global/debug.h"
|
||||
|
||||
#include "effects/effect.h"
|
||||
|
||||
#include "effects/internal/solideffect.h"
|
||||
#include "effects/internal/texteffect.h"
|
||||
|
||||
#include <QPainter>
|
||||
#include <QColor>
|
||||
#include <QMouseEvent>
|
||||
@@ -61,6 +35,30 @@
|
||||
#include <QInputDialog>
|
||||
#include <QStatusBar>
|
||||
|
||||
#include "global/global.h"
|
||||
#include "panels/panels.h"
|
||||
#include "project/projectelements.h"
|
||||
#include "rendering/audio.h"
|
||||
#include "global/config.h"
|
||||
#include "ui/sourcetable.h"
|
||||
#include "ui/sourceiconview.h"
|
||||
#include "undo/undo.h"
|
||||
#include "undo/undostack.h"
|
||||
#include "ui/viewerwidget.h"
|
||||
#include "ui/resizablescrollbar.h"
|
||||
#include "dialogs/newsequencedialog.h"
|
||||
#include "mainwindow.h"
|
||||
#include "ui/rectangleselect.h"
|
||||
#include "rendering/renderfunctions.h"
|
||||
#include "ui/cursors.h"
|
||||
#include "ui/menuhelper.h"
|
||||
#include "ui/focusfilter.h"
|
||||
#include "dialogs/clippropertiesdialog.h"
|
||||
#include "global/debug.h"
|
||||
#include "effects/effect.h"
|
||||
#include "effects/internal/solideffect.h"
|
||||
#include "effects/internal/texteffect.h"
|
||||
|
||||
#define MAX_TEXT_WIDTH 20
|
||||
#define TRANSITION_BETWEEN_RANGE 40
|
||||
|
||||
@@ -90,8 +88,6 @@ void TimelineWidget::show_context_menu(const QPoint& pos) {
|
||||
|
||||
QMenu menu(this);
|
||||
|
||||
// TODO replace with Olive::MenuHelper::make_edit_functions_menu() without losing functionality
|
||||
|
||||
QAction* undoAction = menu.addAction(tr("&Undo"));
|
||||
QAction* redoAction = menu.addAction(tr("&Redo"));
|
||||
connect(undoAction, SIGNAL(triggered(bool)), olive::Global.get(), SLOT(undo()));
|
||||
@@ -103,13 +99,7 @@ void TimelineWidget::show_context_menu(const QPoint& pos) {
|
||||
// collect all the selected clips
|
||||
QVector<Clip*> selected_clips = olive::ActiveSequence->SelectedClips();
|
||||
|
||||
if (!selected_clips.isEmpty()) {
|
||||
// clips are selected
|
||||
menu.addAction(tr("C&ut"), &olive::FocusFilter, SLOT(cut()));
|
||||
menu.addAction(tr("Cop&y"), &olive::FocusFilter, SLOT(copy()));
|
||||
}
|
||||
|
||||
menu.addAction(tr("&Paste"), olive::Global.get(), SLOT(paste()));
|
||||
olive::MenuHelper.make_edit_functions_menu(&menu, !selected_clips.isEmpty());
|
||||
|
||||
if (selected_clips.isEmpty()) {
|
||||
// no clips are selected
|
||||
@@ -119,7 +109,7 @@ void TimelineWidget::show_context_menu(const QPoint& pos) {
|
||||
panel_timeline->cursor_track = getTrackFromScreenPoint(pos.y());
|
||||
|
||||
if (panel_timeline->can_ripple_empty_space(panel_timeline->cursor_frame, panel_timeline->cursor_track)) {
|
||||
QAction* ripple_delete_action = menu.addAction(tr("R&ipple Delete"));
|
||||
QAction* ripple_delete_action = menu.addAction(tr("R&ipple Delete Empty Space"));
|
||||
connect(ripple_delete_action, SIGNAL(triggered(bool)), panel_timeline, SLOT(ripple_delete_empty_space()));
|
||||
}
|
||||
|
||||
@@ -128,7 +118,9 @@ void TimelineWidget::show_context_menu(const QPoint& pos) {
|
||||
}
|
||||
|
||||
if (!selected_clips.isEmpty()) {
|
||||
|
||||
menu.addSeparator();
|
||||
|
||||
menu.addAction(tr("&Speed/Duration"), olive::Global.get(), SLOT(open_speed_dialog()));
|
||||
|
||||
QAction* autoscaleAction = menu.addAction(tr("Auto-s&cale"), this, SLOT(toggle_autoscale()));
|
||||
@@ -277,9 +269,10 @@ void TimelineWidget::dragEnterEvent(QDragEnterEvent *event) {
|
||||
panel_project->process_file_list(file_list);
|
||||
|
||||
for (int i=0;i<panel_project->last_imported_media.size();i++) {
|
||||
Footage* f = panel_project->last_imported_media.at(i)->to_footage();
|
||||
|
||||
// waits for media to have a duration
|
||||
// TODO would be much nicer if this was multithreaded
|
||||
Footage* f = panel_project->last_imported_media.at(i)->to_footage();
|
||||
f->ready_lock.lock();
|
||||
f->ready_lock.unlock();
|
||||
|
||||
|
||||
@@ -326,10 +326,6 @@ void ViewerWidget::mousePressEvent(QMouseEvent* event) {
|
||||
gizmo_y_mvmt = 0;
|
||||
|
||||
selected_gizmo = get_gizmo_from_mouse(event->pos().x(), event->pos().y());
|
||||
|
||||
if (selected_gizmo != nullptr) {
|
||||
selected_gizmo->set_previous_value();
|
||||
}
|
||||
}
|
||||
dragging = true;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user