moved undostack to its own source file

This commit is contained in:
itsmattkc
2019-03-14 10:53:50 +11:00
parent c6a4b9e8d6
commit c73fc78087
37 changed files with 212 additions and 172 deletions
+1
View File
@@ -20,6 +20,7 @@
#include "checkboxex.h"
#include "undo/undostack.h"
#include "undo/undo.h"
CheckboxEx::CheckboxEx(QWidget* parent) : QCheckBox(parent) {
+1
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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.
+8 -7
View File
@@ -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
View File
@@ -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();
-4
View File
@@ -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;
}