minor code cleanups
This commit is contained in:
+8
-6
@@ -44,16 +44,19 @@ LoadThread::LoadThread(const QString& filename, bool autorecovery, bool clear) :
|
||||
cancelled_(false)
|
||||
{
|
||||
connect(this, SIGNAL(finished()), this, SLOT(deleteLater()));
|
||||
connect(this, SIGNAL(success()), this, SLOT(success_func()));
|
||||
connect(this, SIGNAL(error()), this, SLOT(error_func()));
|
||||
|
||||
connect(this, SIGNAL(success()), this, SLOT(success_func()), Qt::QueuedConnection);
|
||||
connect(this, SIGNAL(error()), this, SLOT(error_func()), Qt::QueuedConnection);
|
||||
connect(this,
|
||||
SIGNAL(start_create_effect_ui(QXmlStreamReader*, Clip*, int, const QString*, const EffectMeta*, long, bool)),
|
||||
this,
|
||||
SLOT(create_effect_ui(QXmlStreamReader*, Clip*, int, const QString*, const EffectMeta*, long, bool)));
|
||||
SLOT(create_effect_ui(QXmlStreamReader*, Clip*, int, const QString*, const EffectMeta*, long, bool)),
|
||||
Qt::QueuedConnection);
|
||||
connect(this,
|
||||
SIGNAL(start_question(const QString&, const QString &, int)),
|
||||
this,
|
||||
SLOT(question_func(const QString &, const QString &, int)));
|
||||
SLOT(question_func(const QString &, const QString &, int)),
|
||||
Qt::QueuedConnection);
|
||||
}
|
||||
|
||||
void LoadThread::load_effect(QXmlStreamReader& stream, Clip* c) {
|
||||
@@ -337,7 +340,7 @@ bool LoadThread::load_worker(QFile& f, QXmlStreamReader& stream, int type) {
|
||||
case MEDIA_TYPE_SEQUENCE:
|
||||
{
|
||||
Media* parent = nullptr;
|
||||
SequencePtr s(new Sequence());
|
||||
SequencePtr s = std::make_shared<Sequence>();
|
||||
|
||||
// load attributes about sequence
|
||||
for (int j=0;j<stream.attributes().size();j++) {
|
||||
@@ -736,7 +739,6 @@ void LoadThread::success_func() {
|
||||
if (open_seq != nullptr) {
|
||||
olive::Global->set_sequence(open_seq);
|
||||
}
|
||||
update_ui(false);
|
||||
}
|
||||
|
||||
void LoadThread::create_effect_ui(
|
||||
|
||||
+1
-1
@@ -434,7 +434,7 @@ Media* Project::create_sequence_internal(ComboAction *ca, SequencePtr s, bool op
|
||||
parent = olive::project_model.get_root();
|
||||
}
|
||||
|
||||
Media* item(new Media(parent));
|
||||
Media* item = new Media(parent);
|
||||
item->set_sequence(s);
|
||||
|
||||
if (ca != nullptr) {
|
||||
|
||||
+8
-2
@@ -86,7 +86,8 @@ void Media::set_footage(FootagePtr f) {
|
||||
}
|
||||
|
||||
void Media::set_sequence(SequencePtr s) {
|
||||
set_icon(QIcon(":/icons/sequence.svg"));
|
||||
// ensure icon setting occurs in a separate thread
|
||||
set_icon(":/icons/sequence.svg");
|
||||
type = MEDIA_TYPE_SEQUENCE;
|
||||
object = VoidPtr(s);
|
||||
if (s != nullptr) update_tooltip();
|
||||
@@ -94,11 +95,16 @@ void Media::set_sequence(SequencePtr s) {
|
||||
|
||||
void Media::set_folder() {
|
||||
if (folder_name.isEmpty()) folder_name = QCoreApplication::translate("Media", "New Folder");
|
||||
set_icon(QIcon(":/icons/folder.svg"));
|
||||
set_icon(":/icons/folder.svg");
|
||||
type = MEDIA_TYPE_FOLDER;
|
||||
object = nullptr;
|
||||
}
|
||||
|
||||
void Media::set_icon(const QString &str)
|
||||
{
|
||||
set_icon(QIcon(str));
|
||||
}
|
||||
|
||||
void Media::set_icon(const QIcon &ico) {
|
||||
icon = ico;
|
||||
}
|
||||
|
||||
+4
-2
@@ -46,12 +46,13 @@ public:
|
||||
~Media();
|
||||
FootagePtr to_footage();
|
||||
SequencePtr to_sequence();
|
||||
void set_icon(const QString& str);
|
||||
void set_icon(const QIcon &ico);
|
||||
void set_footage(FootagePtr f);
|
||||
void set_sequence(SequencePtr s);
|
||||
void set_folder();
|
||||
void set_icon(const QIcon &ico);
|
||||
void set_parent(Media* p);
|
||||
void update_tooltip(const QString& error = 0);
|
||||
void update_tooltip(const QString& error = nullptr);
|
||||
VoidPtr to_object();
|
||||
int get_type();
|
||||
const QString& get_name();
|
||||
@@ -77,6 +78,7 @@ public:
|
||||
bool root;
|
||||
int temp_id;
|
||||
int temp_id2;
|
||||
|
||||
private:
|
||||
int type;
|
||||
VoidPtr object;
|
||||
|
||||
@@ -165,7 +165,6 @@ void ProjectModel::set_icon(Media* m, const QIcon &ico) {
|
||||
QModelIndex index = createIndex(m->row(), 0, m);
|
||||
m->set_icon(ico);
|
||||
emit dataChanged(index, index);
|
||||
|
||||
}
|
||||
|
||||
void ProjectModel::appendChild(Media *parent, Media *child) {
|
||||
|
||||
+165
-165
@@ -29,245 +29,245 @@ FocusFilter olive::FocusFilter;
|
||||
FocusFilter::FocusFilter() {}
|
||||
|
||||
void FocusFilter::go_to_in() {
|
||||
QDockWidget* focused_panel = get_focused_panel();
|
||||
if (focused_panel == panel_footage_viewer) {
|
||||
panel_footage_viewer->go_to_in();
|
||||
} else {
|
||||
panel_sequence_viewer->go_to_in();
|
||||
}
|
||||
QDockWidget* focused_panel = get_focused_panel();
|
||||
if (focused_panel == panel_footage_viewer) {
|
||||
panel_footage_viewer->go_to_in();
|
||||
} else {
|
||||
panel_sequence_viewer->go_to_in();
|
||||
}
|
||||
}
|
||||
|
||||
void FocusFilter::go_to_out() {
|
||||
QDockWidget* focused_panel = get_focused_panel();
|
||||
if (focused_panel == panel_footage_viewer) {
|
||||
panel_footage_viewer->go_to_out();
|
||||
} else {
|
||||
panel_sequence_viewer->go_to_out();
|
||||
}
|
||||
QDockWidget* focused_panel = get_focused_panel();
|
||||
if (focused_panel == panel_footage_viewer) {
|
||||
panel_footage_viewer->go_to_out();
|
||||
} else {
|
||||
panel_sequence_viewer->go_to_out();
|
||||
}
|
||||
}
|
||||
|
||||
void FocusFilter::go_to_start() {
|
||||
QDockWidget* focused_panel = get_focused_panel();
|
||||
if (focused_panel == panel_footage_viewer) {
|
||||
panel_footage_viewer->go_to_start();
|
||||
} else {
|
||||
panel_sequence_viewer->go_to_start();
|
||||
}
|
||||
QDockWidget* focused_panel = get_focused_panel();
|
||||
if (focused_panel == panel_footage_viewer) {
|
||||
panel_footage_viewer->go_to_start();
|
||||
} else {
|
||||
panel_sequence_viewer->go_to_start();
|
||||
}
|
||||
}
|
||||
|
||||
void FocusFilter::prev_frame() {
|
||||
QDockWidget* focused_panel = get_focused_panel();
|
||||
if (focused_panel == panel_footage_viewer) {
|
||||
panel_footage_viewer->previous_frame();
|
||||
} else {
|
||||
panel_sequence_viewer->previous_frame();
|
||||
}
|
||||
QDockWidget* focused_panel = get_focused_panel();
|
||||
if (focused_panel == panel_footage_viewer) {
|
||||
panel_footage_viewer->previous_frame();
|
||||
} else {
|
||||
panel_sequence_viewer->previous_frame();
|
||||
}
|
||||
}
|
||||
|
||||
void FocusFilter::play_in_to_out() {
|
||||
QDockWidget* focused_panel = get_focused_panel();
|
||||
if (focused_panel == panel_footage_viewer) {
|
||||
panel_footage_viewer->play(true);
|
||||
} else {
|
||||
panel_sequence_viewer->play(true);
|
||||
}
|
||||
QDockWidget* focused_panel = get_focused_panel();
|
||||
if (focused_panel == panel_footage_viewer) {
|
||||
panel_footage_viewer->play(true);
|
||||
} else {
|
||||
panel_sequence_viewer->play(true);
|
||||
}
|
||||
}
|
||||
|
||||
void FocusFilter::next_frame() {
|
||||
QDockWidget* focused_panel = get_focused_panel();
|
||||
if (focused_panel == panel_footage_viewer) {
|
||||
panel_footage_viewer->next_frame();
|
||||
} else {
|
||||
panel_sequence_viewer->next_frame();
|
||||
}
|
||||
QDockWidget* focused_panel = get_focused_panel();
|
||||
if (focused_panel == panel_footage_viewer) {
|
||||
panel_footage_viewer->next_frame();
|
||||
} else {
|
||||
panel_sequence_viewer->next_frame();
|
||||
}
|
||||
}
|
||||
|
||||
void FocusFilter::go_to_end() {
|
||||
QDockWidget* focused_panel = get_focused_panel();
|
||||
if (focused_panel == panel_footage_viewer) {
|
||||
panel_footage_viewer->go_to_end();
|
||||
} else {
|
||||
panel_sequence_viewer->go_to_end();
|
||||
}
|
||||
QDockWidget* focused_panel = get_focused_panel();
|
||||
if (focused_panel == panel_footage_viewer) {
|
||||
panel_footage_viewer->go_to_end();
|
||||
} else {
|
||||
panel_sequence_viewer->go_to_end();
|
||||
}
|
||||
}
|
||||
|
||||
void FocusFilter::set_viewer_fullscreen() {
|
||||
if (get_focused_panel() == panel_footage_viewer) {
|
||||
panel_footage_viewer->viewer_widget->set_fullscreen();
|
||||
} else {
|
||||
panel_sequence_viewer->viewer_widget->set_fullscreen();
|
||||
}
|
||||
if (get_focused_panel() == panel_footage_viewer) {
|
||||
panel_footage_viewer->viewer_widget->set_fullscreen();
|
||||
} else {
|
||||
panel_sequence_viewer->viewer_widget->set_fullscreen();
|
||||
}
|
||||
}
|
||||
|
||||
void FocusFilter::set_marker() {
|
||||
if (olive::ActiveSequence != nullptr) {
|
||||
QDockWidget* focused_panel = get_focused_panel();
|
||||
if (olive::ActiveSequence != nullptr) {
|
||||
QDockWidget* focused_panel = get_focused_panel();
|
||||
|
||||
if (focused_panel == panel_footage_viewer) {
|
||||
panel_footage_viewer->set_marker();
|
||||
} else if (focused_panel == panel_sequence_viewer) {
|
||||
panel_sequence_viewer->set_marker();
|
||||
} else {
|
||||
panel_timeline->set_marker();
|
||||
}
|
||||
if (focused_panel == panel_footage_viewer) {
|
||||
panel_footage_viewer->set_marker();
|
||||
} else if (focused_panel == panel_sequence_viewer) {
|
||||
panel_sequence_viewer->set_marker();
|
||||
} else {
|
||||
panel_timeline->set_marker();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void FocusFilter::playpause() {
|
||||
QDockWidget* focused_panel = get_focused_panel();
|
||||
if (focused_panel == panel_footage_viewer) {
|
||||
panel_footage_viewer->toggle_play();
|
||||
} else {
|
||||
panel_sequence_viewer->toggle_play();
|
||||
}
|
||||
QDockWidget* focused_panel = get_focused_panel();
|
||||
if (focused_panel == panel_footage_viewer) {
|
||||
panel_footage_viewer->toggle_play();
|
||||
} else {
|
||||
panel_sequence_viewer->toggle_play();
|
||||
}
|
||||
}
|
||||
|
||||
void FocusFilter::pause() {
|
||||
QDockWidget* focused_panel = get_focused_panel();
|
||||
if (focused_panel == panel_footage_viewer) {
|
||||
panel_footage_viewer->pause();
|
||||
} else {
|
||||
panel_sequence_viewer->pause();
|
||||
}
|
||||
QDockWidget* focused_panel = get_focused_panel();
|
||||
if (focused_panel == panel_footage_viewer) {
|
||||
panel_footage_viewer->pause();
|
||||
} else {
|
||||
panel_sequence_viewer->pause();
|
||||
}
|
||||
}
|
||||
|
||||
void FocusFilter::increase_speed() {
|
||||
QDockWidget* focused_panel = get_focused_panel();
|
||||
if (focused_panel == panel_footage_viewer) {
|
||||
panel_footage_viewer->increase_speed();
|
||||
} else {
|
||||
panel_sequence_viewer->increase_speed();
|
||||
}
|
||||
QDockWidget* focused_panel = get_focused_panel();
|
||||
if (focused_panel == panel_footage_viewer) {
|
||||
panel_footage_viewer->increase_speed();
|
||||
} else {
|
||||
panel_sequence_viewer->increase_speed();
|
||||
}
|
||||
}
|
||||
|
||||
void FocusFilter::decrease_speed() {
|
||||
QDockWidget* focused_panel = get_focused_panel();
|
||||
if (focused_panel == panel_footage_viewer) {
|
||||
panel_footage_viewer->decrease_speed();
|
||||
} else {
|
||||
panel_sequence_viewer->decrease_speed();
|
||||
}
|
||||
QDockWidget* focused_panel = get_focused_panel();
|
||||
if (focused_panel == panel_footage_viewer) {
|
||||
panel_footage_viewer->decrease_speed();
|
||||
} else {
|
||||
panel_sequence_viewer->decrease_speed();
|
||||
}
|
||||
}
|
||||
|
||||
void FocusFilter::set_in_point() {
|
||||
if (get_focused_panel() == panel_footage_viewer) {
|
||||
panel_footage_viewer->set_in_point();
|
||||
} else {
|
||||
panel_sequence_viewer->set_in_point();
|
||||
}
|
||||
if (get_focused_panel() == panel_footage_viewer) {
|
||||
panel_footage_viewer->set_in_point();
|
||||
} else {
|
||||
panel_sequence_viewer->set_in_point();
|
||||
}
|
||||
}
|
||||
|
||||
void FocusFilter::set_out_point() {
|
||||
if (get_focused_panel() == panel_footage_viewer) {
|
||||
panel_footage_viewer->set_out_point();
|
||||
} else {
|
||||
panel_sequence_viewer->set_out_point();
|
||||
}
|
||||
if (get_focused_panel() == panel_footage_viewer) {
|
||||
panel_footage_viewer->set_out_point();
|
||||
} else {
|
||||
panel_sequence_viewer->set_out_point();
|
||||
}
|
||||
}
|
||||
|
||||
void FocusFilter::clear_in() {
|
||||
if (get_focused_panel() == panel_footage_viewer) {
|
||||
panel_footage_viewer->clear_in();
|
||||
} else {
|
||||
panel_sequence_viewer->clear_in();
|
||||
}
|
||||
if (get_focused_panel() == panel_footage_viewer) {
|
||||
panel_footage_viewer->clear_in();
|
||||
} else {
|
||||
panel_sequence_viewer->clear_in();
|
||||
}
|
||||
}
|
||||
|
||||
void FocusFilter::clear_out() {
|
||||
if (get_focused_panel() == panel_footage_viewer) {
|
||||
panel_footage_viewer->clear_out();
|
||||
} else {
|
||||
panel_sequence_viewer->clear_out();
|
||||
}
|
||||
if (get_focused_panel() == panel_footage_viewer) {
|
||||
panel_footage_viewer->clear_out();
|
||||
} else {
|
||||
panel_sequence_viewer->clear_out();
|
||||
}
|
||||
}
|
||||
|
||||
void FocusFilter::clear_inout() {
|
||||
if (get_focused_panel() == panel_footage_viewer) {
|
||||
panel_footage_viewer->clear_inout_point();
|
||||
} else {
|
||||
panel_sequence_viewer->clear_inout_point();
|
||||
}
|
||||
if (get_focused_panel() == panel_footage_viewer) {
|
||||
panel_footage_viewer->clear_inout_point();
|
||||
} else {
|
||||
panel_sequence_viewer->clear_inout_point();
|
||||
}
|
||||
}
|
||||
|
||||
void FocusFilter::delete_function() {
|
||||
if (panel_timeline->headers->hasFocus()) {
|
||||
panel_timeline->headers->delete_markers();
|
||||
} else if (panel_footage_viewer->headers->hasFocus()) {
|
||||
panel_footage_viewer->headers->delete_markers();
|
||||
} else if (panel_sequence_viewer->headers->hasFocus()) {
|
||||
panel_sequence_viewer->headers->delete_markers();
|
||||
} else if (panel_effect_controls->is_focused()) {
|
||||
panel_effect_controls->delete_effects();
|
||||
} else if (panel_project->is_focused()) {
|
||||
panel_project->delete_selected_media();
|
||||
} else if (panel_effect_controls->keyframe_focus()) {
|
||||
panel_effect_controls->delete_selected_keyframes();
|
||||
} else if (panel_graph_editor->view_is_focused()) {
|
||||
panel_graph_editor->delete_selected_keys();
|
||||
} else {
|
||||
panel_timeline->delete_selection(olive::ActiveSequence->selections, false);
|
||||
}
|
||||
if (panel_timeline->headers->hasFocus()) {
|
||||
panel_timeline->headers->delete_markers();
|
||||
} else if (panel_footage_viewer->headers->hasFocus()) {
|
||||
panel_footage_viewer->headers->delete_markers();
|
||||
} else if (panel_sequence_viewer->headers->hasFocus()) {
|
||||
panel_sequence_viewer->headers->delete_markers();
|
||||
} else if (panel_effect_controls->is_focused()) {
|
||||
panel_effect_controls->delete_effects();
|
||||
} else if (panel_project->is_focused()) {
|
||||
panel_project->delete_selected_media();
|
||||
} else if (panel_effect_controls->keyframe_focus()) {
|
||||
panel_effect_controls->delete_selected_keyframes();
|
||||
} else if (panel_graph_editor->view_is_focused()) {
|
||||
panel_graph_editor->delete_selected_keys();
|
||||
} else {
|
||||
panel_timeline->delete_selection(olive::ActiveSequence->selections, false);
|
||||
}
|
||||
}
|
||||
|
||||
void FocusFilter::duplicate() {
|
||||
if (panel_project->is_focused()) {
|
||||
panel_project->duplicate_selected();
|
||||
}
|
||||
if (panel_project->is_focused()) {
|
||||
panel_project->duplicate_selected();
|
||||
}
|
||||
}
|
||||
|
||||
void FocusFilter::select_all() {
|
||||
QDockWidget* focused_panel = get_focused_panel();
|
||||
if (focused_panel == panel_graph_editor) {
|
||||
panel_graph_editor->select_all();
|
||||
} else {
|
||||
panel_timeline->select_all();
|
||||
}
|
||||
QDockWidget* focused_panel = get_focused_panel();
|
||||
if (focused_panel == panel_graph_editor) {
|
||||
panel_graph_editor->select_all();
|
||||
} else {
|
||||
panel_timeline->select_all();
|
||||
}
|
||||
}
|
||||
|
||||
void FocusFilter::zoom_in() {
|
||||
QDockWidget* focused_panel = get_focused_panel();
|
||||
if (focused_panel == panel_effect_controls) {
|
||||
panel_effect_controls->set_zoom(true);
|
||||
} else if (focused_panel == panel_footage_viewer) {
|
||||
panel_footage_viewer->set_zoom(true);
|
||||
} else if (focused_panel == panel_sequence_viewer) {
|
||||
panel_sequence_viewer->set_zoom(true);
|
||||
} else {
|
||||
panel_timeline->zoom_in();
|
||||
}
|
||||
QDockWidget* focused_panel = get_focused_panel();
|
||||
if (focused_panel == panel_effect_controls) {
|
||||
panel_effect_controls->set_zoom(true);
|
||||
} else if (focused_panel == panel_footage_viewer) {
|
||||
panel_footage_viewer->set_zoom(true);
|
||||
} else if (focused_panel == panel_sequence_viewer) {
|
||||
panel_sequence_viewer->set_zoom(true);
|
||||
} else {
|
||||
panel_timeline->zoom_in();
|
||||
}
|
||||
}
|
||||
|
||||
void FocusFilter::zoom_out() {
|
||||
QDockWidget* focused_panel = get_focused_panel();
|
||||
if (focused_panel == panel_effect_controls) {
|
||||
panel_effect_controls->set_zoom(false);
|
||||
} else if (focused_panel == panel_footage_viewer) {
|
||||
panel_footage_viewer->set_zoom(false);
|
||||
} else if (focused_panel == panel_sequence_viewer) {
|
||||
panel_sequence_viewer->set_zoom(false);
|
||||
} else {
|
||||
panel_timeline->zoom_out();
|
||||
}
|
||||
QDockWidget* focused_panel = get_focused_panel();
|
||||
if (focused_panel == panel_effect_controls) {
|
||||
panel_effect_controls->set_zoom(false);
|
||||
} else if (focused_panel == panel_footage_viewer) {
|
||||
panel_footage_viewer->set_zoom(false);
|
||||
} else if (focused_panel == panel_sequence_viewer) {
|
||||
panel_sequence_viewer->set_zoom(false);
|
||||
} else {
|
||||
panel_timeline->zoom_out();
|
||||
}
|
||||
}
|
||||
|
||||
void FocusFilter::cut() {
|
||||
if (olive::ActiveSequence != nullptr) {
|
||||
QDockWidget* focused_panel = get_focused_panel();
|
||||
if (panel_effect_controls == focused_panel) {
|
||||
panel_effect_controls->copy(true);
|
||||
} else {
|
||||
panel_timeline->copy(true);
|
||||
}
|
||||
if (olive::ActiveSequence != nullptr) {
|
||||
QDockWidget* focused_panel = get_focused_panel();
|
||||
if (panel_effect_controls == focused_panel) {
|
||||
panel_effect_controls->copy(true);
|
||||
} else {
|
||||
panel_timeline->copy(true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void FocusFilter::copy() {
|
||||
if (olive::ActiveSequence != nullptr) {
|
||||
QDockWidget* focused_panel = get_focused_panel();
|
||||
if (panel_effect_controls == focused_panel) {
|
||||
panel_effect_controls->copy(false);
|
||||
} else {
|
||||
panel_timeline->copy(false);
|
||||
}
|
||||
if (olive::ActiveSequence != nullptr) {
|
||||
QDockWidget* focused_panel = get_focused_panel();
|
||||
if (panel_effect_controls == focused_panel) {
|
||||
panel_effect_controls->copy(false);
|
||||
} else {
|
||||
panel_timeline->copy(false);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+54
-54
@@ -35,197 +35,197 @@
|
||||
* **TRUE**, the focused panel will be whichever panel has the cursor currently hovering over it.
|
||||
*/
|
||||
class FocusFilter : public QObject {
|
||||
Q_OBJECT
|
||||
Q_OBJECT
|
||||
public:
|
||||
/**
|
||||
/**
|
||||
* @brief FocusFilter Constructor
|
||||
*
|
||||
* Currently empty.
|
||||
*/
|
||||
FocusFilter();
|
||||
FocusFilter();
|
||||
|
||||
public slots:
|
||||
/**
|
||||
/**
|
||||
* @brief Cuts selected clips or selected effects (but not both).
|
||||
*
|
||||
* If the Effect Controls panel is focused, cuts selected effects. Otherwise cuts selected clips.
|
||||
*/
|
||||
void cut();
|
||||
void cut();
|
||||
|
||||
/**
|
||||
/**
|
||||
* @brief Copies selected clips or selected effects (but not both).
|
||||
*
|
||||
* If the Effect Controls panel is focused, copies selected effects. Otherwise copies selected clips.
|
||||
*/
|
||||
void copy();
|
||||
void copy();
|
||||
|
||||
/**
|
||||
/**
|
||||
* @brief Duplicates currently selected items
|
||||
*
|
||||
* Currently this only duplicates Sequences in the project panel.
|
||||
*/
|
||||
void duplicate();
|
||||
void duplicate();
|
||||
|
||||
/**
|
||||
/**
|
||||
* @brief Go to In Point.
|
||||
*
|
||||
* Calls go_to_in() on Media Viewer it's focused. Otherwise calls it on Sequence Viewer.
|
||||
*/
|
||||
void go_to_in();
|
||||
void go_to_in();
|
||||
|
||||
/**
|
||||
/**
|
||||
* @brief Go to Out Point.
|
||||
*
|
||||
* Calls go_to_out() on Media Viewer it's focused. Otherwise calls it on Sequence Viewer.
|
||||
*/
|
||||
void go_to_out();
|
||||
void go_to_out();
|
||||
|
||||
/**
|
||||
/**
|
||||
* @brief Go to Start
|
||||
*
|
||||
* Calls go_to_start() on Media Viewer it's focused. Otherwise calls it on Sequence Viewer.
|
||||
*/
|
||||
void go_to_start();
|
||||
void go_to_start();
|
||||
|
||||
/**
|
||||
/**
|
||||
* @brief Go to Previous Frame
|
||||
*
|
||||
* Calls previous_frame() on Media Viewer it's focused. Otherwise calls it on Sequence Viewer.
|
||||
*/
|
||||
void prev_frame();
|
||||
void prev_frame();
|
||||
|
||||
/**
|
||||
/**
|
||||
* @brief Play In Point to Out Point
|
||||
*
|
||||
* Calls play(true) on Media Viewer it's focused. Otherwise calls it on Sequence Viewer.
|
||||
*/
|
||||
void play_in_to_out();
|
||||
void play_in_to_out();
|
||||
|
||||
/**
|
||||
/**
|
||||
* @brief Toggle Play/Pause
|
||||
*
|
||||
* Calls toggle_play() on Media Viewer it's focused. Otherwise calls it on Sequence Viewer.
|
||||
*/
|
||||
void playpause();
|
||||
void playpause();
|
||||
|
||||
/**
|
||||
/**
|
||||
* @brief Pause/Shuttle Stop.
|
||||
*
|
||||
* Calls pause() on Media Viewer it's focused. Otherwise calls it on Sequence Viewer.
|
||||
*/
|
||||
void pause();
|
||||
void pause();
|
||||
|
||||
/**
|
||||
/**
|
||||
* @brief Increase Speed/Shuttle Right
|
||||
*
|
||||
* Calls increase_speed() on Media Viewer it's focused. Otherwise calls it on Sequence Viewer.
|
||||
*/
|
||||
void increase_speed();
|
||||
void increase_speed();
|
||||
|
||||
/**
|
||||
/**
|
||||
* @brief Decrease Speed/Shuttle Left
|
||||
*
|
||||
* Calls decrease_speed() on Media Viewer it's focused. Otherwise calls it on Sequence Viewer.
|
||||
*/
|
||||
void decrease_speed();
|
||||
void decrease_speed();
|
||||
|
||||
/**
|
||||
/**
|
||||
* @brief Go to Next Frame
|
||||
*
|
||||
* Calls next_frame() on Media Viewer it's focused. Otherwise calls it on Sequence Viewer.
|
||||
*/
|
||||
void next_frame();
|
||||
void next_frame();
|
||||
|
||||
/**
|
||||
/**
|
||||
* @brief Go to End
|
||||
*
|
||||
* Calls go_to_end() on Media Viewer it's focused. Otherwise calls it on Sequence Viewer.
|
||||
*/
|
||||
void go_to_end();
|
||||
void go_to_end();
|
||||
|
||||
/**
|
||||
/**
|
||||
* @brief Set currently focused viewer to full screen
|
||||
*
|
||||
* Calls viewer_widget->set_fullscreen() on Media Viewer it's focused. Otherwise calls it on Sequence Viewer.
|
||||
*/
|
||||
void set_viewer_fullscreen();
|
||||
void set_viewer_fullscreen();
|
||||
|
||||
/**
|
||||
/**
|
||||
* @brief Set a marker at the current playhead
|
||||
*
|
||||
* Calls set_marker() on Media Viewer or Sequence Viewer if it's focused. Otherwise calls it on Timeline.
|
||||
*/
|
||||
void set_marker();
|
||||
void set_marker();
|
||||
|
||||
/**
|
||||
/**
|
||||
* @brief Set in point
|
||||
*
|
||||
* Calls set_in_point() on Media Viewer it's focused. Otherwise calls it on Sequence Viewer.
|
||||
*/
|
||||
void set_in_point();
|
||||
void set_in_point();
|
||||
|
||||
/**
|
||||
/**
|
||||
* @brief Set out point
|
||||
*
|
||||
* Calls set_out_point() on Media Viewer it's focused. Otherwise calls it on Sequence Viewer.
|
||||
*/
|
||||
void set_out_point();
|
||||
void set_out_point();
|
||||
|
||||
/**
|
||||
/**
|
||||
* @brief Clear in point
|
||||
*
|
||||
* Calls clear_in() on Media Viewer it's focused. Otherwise calls it on Sequence Viewer.
|
||||
*/
|
||||
void clear_in();
|
||||
void clear_in();
|
||||
|
||||
/**
|
||||
/**
|
||||
* @brief Clear out point
|
||||
*
|
||||
* Calls clear_out() on Media Viewer it's focused. Otherwise calls it on Sequence Viewer.
|
||||
*/
|
||||
void clear_out();
|
||||
void clear_out();
|
||||
|
||||
/**
|
||||
/**
|
||||
* @brief Clear in/out point
|
||||
*
|
||||
* Calls clear_inout() on Media Viewer it's focused. Otherwise calls it on Sequence Viewer.
|
||||
*/
|
||||
void clear_inout();
|
||||
void clear_inout();
|
||||
|
||||
/**
|
||||
/**
|
||||
* @brief Delete
|
||||
*
|
||||
* Calls various delete functions based on which UI elements are focused. Deletes span anywhere from deleting
|
||||
* clips (Timeline), to effects (Effect Controls), to markers (TimelineHeader).
|
||||
*/
|
||||
void delete_function();
|
||||
void delete_function();
|
||||
|
||||
/**
|
||||
/**
|
||||
* @brief Select All
|
||||
*
|
||||
* Calls select_all() on Graph Editor if its focused or Timeline if it's not.
|
||||
*/
|
||||
void select_all();
|
||||
void select_all();
|
||||
|
||||
/**
|
||||
/**
|
||||
* @brief Zoom In
|
||||
*
|
||||
* Calls zoom_in() on Effect Controls, Footage Viewer, or Sequence Viewer if one of them is focused. Otherwise
|
||||
* calls it on Timeline.
|
||||
*/
|
||||
void zoom_in();
|
||||
void zoom_in();
|
||||
|
||||
/**
|
||||
/**
|
||||
* @brief Zoom Out
|
||||
*
|
||||
* Calls zoom_out() on Effect Controls, Footage Viewer, or Sequence Viewer if one of them is focused. Otherwise
|
||||
* calls it on Timeline.
|
||||
*/
|
||||
void zoom_out();
|
||||
void zoom_out();
|
||||
};
|
||||
|
||||
namespace olive {
|
||||
extern FocusFilter FocusFilter;
|
||||
extern FocusFilter FocusFilter;
|
||||
}
|
||||
|
||||
#endif // FOCUSFILTER_H
|
||||
|
||||
@@ -1836,7 +1836,11 @@ void TimelineWidget::update_ghosts(const QPoint& mouse_pos, bool lock_frame) {
|
||||
}
|
||||
}
|
||||
}
|
||||
if (temp_frame_diff != frame_diff) panel_timeline->snapped = false;
|
||||
|
||||
// if the above validation changed the frame movement, it's unlikely we're still snapped
|
||||
if (temp_frame_diff != frame_diff) {
|
||||
panel_timeline->snapped = false;
|
||||
}
|
||||
|
||||
// apply changes to ghosts
|
||||
for (int i=0;i<panel_timeline->ghosts.size();i++) {
|
||||
|
||||
Reference in New Issue
Block a user