viewer: allow switching open sequences
This commit is contained in:
@@ -20,6 +20,7 @@ add_subdirectory(footageviewer)
|
||||
add_subdirectory(node)
|
||||
add_subdirectory(param)
|
||||
add_subdirectory(project)
|
||||
add_subdirectory(sequenceviewer)
|
||||
add_subdirectory(taskmanager)
|
||||
add_subdirectory(timebased)
|
||||
add_subdirectory(timeline)
|
||||
|
||||
@@ -30,6 +30,7 @@
|
||||
#include "project/item/sequence/sequence.h"
|
||||
#include "widget/menu/menushared.h"
|
||||
#include "widget/projecttoolbar/projecttoolbar.h"
|
||||
#include "window/mainwindow/mainwindow.h"
|
||||
|
||||
ProjectPanel::ProjectPanel(QWidget *parent) :
|
||||
PanelWidget(parent)
|
||||
@@ -154,7 +155,7 @@ void ProjectPanel::ItemDoubleClickSlot(Item *item)
|
||||
PanelManager::instance()->MostRecentlyFocused<FootageViewerPanel>()->SetFootage(static_cast<Footage*>(item));
|
||||
} else if (item->type() == Item::kSequence) {
|
||||
// Open this sequence in the Timeline
|
||||
Sequence::Open(static_cast<Sequence*>(item));
|
||||
Core::instance()->main_window()->OpenSequence(static_cast<Sequence*>(item));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
# Olive - Non-Linear Video Editor
|
||||
# Copyright (C) 2019 Olive Team
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
set(OLIVE_SOURCES
|
||||
${OLIVE_SOURCES}
|
||||
panel/sequenceviewer/sequenceviewer.h
|
||||
panel/sequenceviewer/sequenceviewer.cpp
|
||||
PARENT_SCOPE
|
||||
)
|
||||
@@ -0,0 +1,18 @@
|
||||
#include "sequenceviewer.h"
|
||||
|
||||
SequenceViewerPanel::SequenceViewerPanel(QWidget *parent) :
|
||||
ViewerPanel(parent)
|
||||
{
|
||||
// FIXME: This won't work if there's ever more than one of this panel
|
||||
setObjectName("SequenceViewerPanel");
|
||||
|
||||
// Set strings
|
||||
Retranslate();
|
||||
}
|
||||
|
||||
void SequenceViewerPanel::Retranslate()
|
||||
{
|
||||
ViewerPanel::Retranslate();
|
||||
|
||||
SetTitle(tr("Sequence Viewer"));
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
#ifndef SEQUENCEVIEWERPANEL_H
|
||||
#define SEQUENCEVIEWERPANEL_H
|
||||
|
||||
#include "panel/viewer/viewer.h"
|
||||
|
||||
class SequenceViewerPanel : public ViewerPanel
|
||||
{
|
||||
public:
|
||||
SequenceViewerPanel(QWidget* parent);
|
||||
|
||||
protected:
|
||||
virtual void Retranslate() override;
|
||||
|
||||
};
|
||||
|
||||
#endif // SEQUENCEVIEWERPANEL_H
|
||||
@@ -33,6 +33,14 @@ void ViewerPanelBase::ConnectTimeBasedPanel(TimeBasedPanel *panel)
|
||||
connect(panel, &TimeBasedPanel::ShuttleRightRequested, this, &ViewerPanelBase::ShuttleRight);
|
||||
}
|
||||
|
||||
void ViewerPanelBase::DisconnectTimeBasedPanel(TimeBasedPanel *panel)
|
||||
{
|
||||
disconnect(panel, &TimeBasedPanel::PlayPauseRequested, this, &ViewerPanelBase::PlayPause);
|
||||
disconnect(panel, &TimeBasedPanel::ShuttleLeftRequested, this, &ViewerPanelBase::ShuttleLeft);
|
||||
disconnect(panel, &TimeBasedPanel::ShuttleStopRequested, this, &ViewerPanelBase::ShuttleStop);
|
||||
disconnect(panel, &TimeBasedPanel::ShuttleRightRequested, this, &ViewerPanelBase::ShuttleRight);
|
||||
}
|
||||
|
||||
VideoRenderBackend *ViewerPanelBase::video_renderer() const
|
||||
{
|
||||
return static_cast<ViewerWidget*>(GetTimeBasedWidget())->video_renderer();
|
||||
|
||||
@@ -20,6 +20,8 @@ public:
|
||||
|
||||
void ConnectTimeBasedPanel(TimeBasedPanel* panel);
|
||||
|
||||
void DisconnectTimeBasedPanel(TimeBasedPanel* panel);
|
||||
|
||||
VideoRenderBackend* video_renderer() const;
|
||||
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user