all time-based panels are now derived from a common base class
Cuts down on a lot of duplicate code between TimelineWidget/ViewerWidget/CurveWidget/NodeParamView and TimelinePanel/ViewerPanel/CurvePanel/ParamPanel since they all use similar time functions.
This commit is contained in:
@@ -26,60 +26,16 @@ ViewerPanel::ViewerPanel(QWidget *parent) :
|
||||
// FIXME: This won't work if there's ever more than one of this panel
|
||||
setObjectName("ViewerPanel");
|
||||
|
||||
// QObject system handles deleting this
|
||||
viewer_ = new ViewerWidget(this);
|
||||
connect(viewer_, SIGNAL(TimeChanged(const int64_t&)), this, SIGNAL(TimeChanged(const int64_t&)));
|
||||
|
||||
// Set ViewerWidget as the central widget
|
||||
setWidget(viewer_);
|
||||
SetTimeBasedWidget(new ViewerWidget());
|
||||
|
||||
// Set strings
|
||||
Retranslate();
|
||||
}
|
||||
|
||||
void ViewerPanel::ConnectViewerNode(ViewerOutput *node)
|
||||
{
|
||||
if (viewer_->GetConnectedViewer()) {
|
||||
disconnect(viewer_->GetConnectedViewer(), &ViewerOutput::MediaNameChanged, this, &ViewerPanel::SetSubtitle);
|
||||
Retranslate();
|
||||
}
|
||||
|
||||
viewer_->ConnectViewerNode(node);
|
||||
|
||||
if (node) {
|
||||
connect(node, &ViewerOutput::MediaNameChanged, this, &ViewerPanel::SetSubtitle);
|
||||
SetSubtitle(node->media_name());
|
||||
}
|
||||
}
|
||||
|
||||
rational ViewerPanel::GetTime()
|
||||
{
|
||||
return viewer_->GetTime();
|
||||
}
|
||||
|
||||
ViewerOutput *ViewerPanel::GetConnectedViewer() const
|
||||
{
|
||||
return viewer_->GetConnectedViewer();
|
||||
}
|
||||
|
||||
void ViewerPanel::SetTime(const int64_t ×tamp)
|
||||
{
|
||||
viewer_->SetTime(timestamp);
|
||||
}
|
||||
|
||||
void ViewerPanel::changeEvent(QEvent *e)
|
||||
{
|
||||
if (e->type() == QEvent::LanguageChange) {
|
||||
Retranslate();
|
||||
}
|
||||
PanelWidget::changeEvent(e);
|
||||
}
|
||||
|
||||
void ViewerPanel::Retranslate()
|
||||
{
|
||||
SetTitle(tr("Viewer"));
|
||||
ViewerPanelBase::Retranslate();
|
||||
|
||||
if (!viewer_->GetConnectedViewer()) {
|
||||
SetSubtitle(tr("(none)"));
|
||||
}
|
||||
SetTitle(tr("Viewer"));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user