style: unify identifier naming per updated conventions

Automated with clang-tidy readability-identifier-naming (config added to
.clang-tidy) plus scripted passes, per the updated rules now documented
in CONTRIBUTING.md:

- types (class/struct/enum/alias/template params): PascalCase
- functions, variables, members: snake_case (incl. rational -> Rational)
- private/protected members: trailing underscore; static member
  variables likewise (instance_, available_themes_)
- constants and enum values: snake_case (kLinear -> k_linear,
  F32P -> f32p); ALL_CAPS reserved for macros
- macros: OAK_ prefix (OLIVE_ADD_TEST/OLIVE_ASSERT/OLIVE_CONFIG ->
  OAK_ADD_TEST/OAK_ASSERT/OAK_CONFIG, GL_PREAMBLE -> OAK_GL_PREAMBLE,
  include guards -> OAK_*)
- file names: all lowercase (Current/Plugin/OliveHost/OliveClip/
  OlivePluginInstance -> current/plugin/olivehost/oliveclip/
  oliveplugininstance)
- getters share the member name sans underscore, setters set_foo()
- Qt and third-party (OpenFX) virtual overrides and framework callbacks
  keep their original names (exempt in .clang-tidy)

Manual follow-ups required where automation could not reach:
- string-based QMetaObject/SIGNAL/SLOT references updated to renamed
  methods (AddTask, CreatedFile, DeleteSpecificFile, moveSelectionUp, ...)
- macro bodies referencing renamed methods (OLIVE_CONFIG,
  NODE_DEFAULT_DESTRUCTOR, MANAGEDDISPLAYWIDGET_*)
- self-shadowing locals renamed where signals/methods became same-named
  (size_changed, worker_count, selected_items, import param, filters)
- third_party OFX member/namespace usages restored (OFX::Host::*,
  _created, _clipPrefsDirty, createInstance, clearPersistentMessage)
- STL protocol aliases restored (const_iterator) with .clang-tidy
  ignore rules; qHash overloads restored

Full build and test suite pass: ctest 4/4, ~1960 gtest cases green.
This commit is contained in:
2026-07-19 16:10:54 +08:00
parent cb1718a103
commit bb40b4923e
1014 changed files with 44257 additions and 44220 deletions
+4 -4
View File
@@ -33,14 +33,14 @@ AudioMonitorPanel::AudioMonitorPanel()
{
audio_monitor_ = new AudioMonitor(this);
SetWidgetWithPadding(audio_monitor_);
set_widget_with_padding(audio_monitor_);
Retranslate();
retranslate();
}
void AudioMonitorPanel::Retranslate()
void AudioMonitorPanel::retranslate()
{
SetTitle(tr("Audio Monitor"));
set_title(tr("Audio Monitor"));
}
}
+8 -8
View File
@@ -19,8 +19,8 @@
***/
#ifndef AUDIOMONITORPANEL_H
#define AUDIOMONITORPANEL_H
#ifndef OAK_AUDIOMONITORPANEL_H
#define OAK_AUDIOMONITORPANEL_H
#include "panel/panel.h"
#include "widget/audiomonitor/audiomonitor.h"
@@ -36,22 +36,22 @@ class AudioMonitorPanel : public PanelWidget {
public:
AudioMonitorPanel();
bool IsPlaying() const
bool is_playing() const
{
return audio_monitor_->IsPlaying();
return audio_monitor_->is_playing();
}
void SetParams(const AudioParams &params)
void set_params(const AudioParams &params)
{
audio_monitor_->SetParams(params);
audio_monitor_->set_params(params);
}
private:
virtual void Retranslate() override;
virtual void retranslate() override;
AudioMonitor *audio_monitor_;
};
}
#endif // AUDIOMONITORPANEL_H
#endif // OAK_AUDIOMONITORPANEL_H
+19 -19
View File
@@ -28,49 +28,49 @@ CurvePanel::CurvePanel()
: TimeBasedPanel(QStringLiteral("CurvePanel"))
{
// Create main widget and set it
SetTimeBasedWidget(new CurveWidget(this));
set_time_based_widget(new CurveWidget(this));
// Set strings
Retranslate();
retranslate();
}
void CurvePanel::DeleteSelected()
void CurvePanel::delete_selected()
{
static_cast<CurveWidget *>(GetTimeBasedWidget())->DeleteSelected();
static_cast<CurveWidget *>(get_time_based_widget())->DeleteSelected();
}
void CurvePanel::SelectAll()
void CurvePanel::select_all()
{
static_cast<CurveWidget *>(GetTimeBasedWidget())->SelectAll();
static_cast<CurveWidget *>(get_time_based_widget())->select_all();
}
void CurvePanel::DeselectAll()
void CurvePanel::deselect_all()
{
static_cast<CurveWidget *>(GetTimeBasedWidget())->DeselectAll();
static_cast<CurveWidget *>(get_time_based_widget())->deselect_all();
}
void CurvePanel::SetNodes(const QVector<Node *> &nodes)
void CurvePanel::set_nodes(const QVector<Node *> &nodes)
{
static_cast<CurveWidget *>(GetTimeBasedWidget())->SetNodes(nodes);
static_cast<CurveWidget *>(get_time_based_widget())->set_nodes(nodes);
}
void CurvePanel::IncreaseTrackHeight()
void CurvePanel::increase_track_height()
{
CurveWidget *c = static_cast<CurveWidget *>(GetTimeBasedWidget());
c->SetVerticalScale(c->GetVerticalScale() * 2);
CurveWidget *c = static_cast<CurveWidget *>(get_time_based_widget());
c->set_vertical_scale(c->get_vertical_scale() * 2);
}
void CurvePanel::DecreaseTrackHeight()
void CurvePanel::decrease_track_height()
{
CurveWidget *c = static_cast<CurveWidget *>(GetTimeBasedWidget());
c->SetVerticalScale(c->GetVerticalScale() * 0.5);
CurveWidget *c = static_cast<CurveWidget *>(get_time_based_widget());
c->set_vertical_scale(c->get_vertical_scale() * 0.5);
}
void CurvePanel::Retranslate()
void CurvePanel::retranslate()
{
TimeBasedPanel::Retranslate();
TimeBasedPanel::retranslate();
SetTitle(tr("Curve Editor"));
set_title(tr("Curve Editor"));
}
}
+12 -12
View File
@@ -19,8 +19,8 @@
***/
#ifndef CURVEPANEL_H
#define CURVEPANEL_H
#ifndef OAK_CURVEPANEL_H
#define OAK_CURVEPANEL_H
#include "panel/timebased/timebased.h"
#include "widget/curvewidget/curvewidget.h"
@@ -33,14 +33,14 @@ class CurvePanel : public TimeBasedPanel {
public:
CurvePanel();
virtual void DeleteSelected() override;
virtual void delete_selected() override;
virtual void SelectAll() override;
virtual void select_all() override;
virtual void DeselectAll() override;
virtual void deselect_all() override;
public slots:
void SetNode(Node *node)
void set_node(Node *node)
{
// Convert single pointer to either an empty vector or a vector of one
QVector<Node *> nodes;
@@ -49,19 +49,19 @@ public slots:
nodes.append(node);
}
SetNodes(nodes);
set_nodes(nodes);
}
void SetNodes(const QVector<Node *> &nodes);
void set_nodes(const QVector<Node *> &nodes);
virtual void IncreaseTrackHeight() override;
virtual void increase_track_height() override;
virtual void DecreaseTrackHeight() override;
virtual void decrease_track_height() override;
protected:
virtual void Retranslate() override;
virtual void retranslate() override;
};
}
#endif // CURVEPANEL_H
#endif // OAK_CURVEPANEL_H
+11 -11
View File
@@ -31,36 +31,36 @@ FootageViewerPanel::FootageViewerPanel()
{
// Set ViewerWidget as the central widget
FootageViewerWidget *fvw = new FootageViewerWidget(this);
SetViewerWidget(fvw);
set_viewer_widget(fvw);
// Set strings
Retranslate();
retranslate();
// Show and raise on connect
SetShowAndRaiseOnConnect();
set_show_and_raise_on_connect();
}
void FootageViewerPanel::OverrideWorkArea(const TimeRange &r)
void FootageViewerPanel::override_work_area(const TimeRange &r)
{
GetFootageViewerWidget()->OverrideWorkArea(r);
get_footage_viewer_widget()->override_work_area(r);
}
QVector<ViewerOutput *> FootageViewerPanel::GetSelectedFootage() const
QVector<ViewerOutput *> FootageViewerPanel::get_selected_footage() const
{
QVector<ViewerOutput *> list;
if (GetConnectedViewer()) {
list.append(GetConnectedViewer());
if (get_connected_viewer()) {
list.append(get_connected_viewer());
}
return list;
}
void FootageViewerPanel::Retranslate()
void FootageViewerPanel::retranslate()
{
super::Retranslate();
super::retranslate();
SetTitle(tr("Footage Viewer"));
set_title(tr("Footage Viewer"));
}
}
+8 -8
View File
@@ -19,8 +19,8 @@
***/
#ifndef FOOTAGE_VIEWER_PANEL_H
#define FOOTAGE_VIEWER_PANEL_H
#ifndef OAK_FOOTAGE_VIEWER_PANEL_H
#define OAK_FOOTAGE_VIEWER_PANEL_H
#include <QOpenGLFunctions>
@@ -40,19 +40,19 @@ class FootageViewerPanel : public ViewerPanelBase,
public:
FootageViewerPanel();
void OverrideWorkArea(const TimeRange &r);
void override_work_area(const TimeRange &r);
FootageViewerWidget *GetFootageViewerWidget() const
FootageViewerWidget *get_footage_viewer_widget() const
{
return static_cast<FootageViewerWidget *>(GetTimeBasedWidget());
return static_cast<FootageViewerWidget *>(get_time_based_widget());
}
virtual QVector<ViewerOutput *> GetSelectedFootage() const override;
virtual QVector<ViewerOutput *> get_selected_footage() const override;
protected:
virtual void Retranslate() override;
virtual void retranslate() override;
};
}
#endif // FOOTAGE_VIEWER_PANEL_H
#endif // OAK_FOOTAGE_VIEWER_PANEL_H
+4 -4
View File
@@ -29,14 +29,14 @@ namespace olive
HistoryPanel::HistoryPanel()
: PanelWidget(QStringLiteral("HistoryPanel"))
{
SetWidgetWithPadding(new HistoryWidget(this));
set_widget_with_padding(new HistoryWidget(this));
Retranslate();
retranslate();
}
void HistoryPanel::Retranslate()
void HistoryPanel::retranslate()
{
SetTitle(tr("History"));
set_title(tr("History"));
}
}
+4 -4
View File
@@ -19,8 +19,8 @@
***/
#ifndef HISTORYPANEL_H
#define HISTORYPANEL_H
#ifndef OAK_HISTORYPANEL_H
#define OAK_HISTORYPANEL_H
#include "panel/panel.h"
@@ -33,9 +33,9 @@ public:
HistoryPanel();
protected:
virtual void Retranslate() override;
virtual void retranslate() override;
};
}
#endif // HISTORYPANEL_H
#endif // OAK_HISTORYPANEL_H
+5 -5
View File
@@ -26,16 +26,16 @@ namespace olive
MulticamPanel::MulticamPanel()
: super(QStringLiteral("MultiCamPanel"))
{
SetTimeBasedWidget(new MulticamWidget(this));
set_time_based_widget(new MulticamWidget(this));
Retranslate();
retranslate();
}
void MulticamPanel::Retranslate()
void MulticamPanel::retranslate()
{
super::Retranslate();
super::retranslate();
SetTitle(tr("Multi-Cam"));
set_title(tr("Multi-Cam"));
}
}
+6 -6
View File
@@ -16,8 +16,8 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef MULTICAMPANEL_H
#define MULTICAMPANEL_H
#ifndef OAK_MULTICAMPANEL_H
#define OAK_MULTICAMPANEL_H
#include "panel/viewer/viewerbase.h"
#include "widget/multicam/multicamwidget.h"
@@ -30,15 +30,15 @@ class MulticamPanel : public TimeBasedPanel {
public:
MulticamPanel();
MulticamWidget *GetMulticamWidget() const
MulticamWidget *get_multicam_widget() const
{
return static_cast<MulticamWidget *>(GetTimeBasedWidget());
return static_cast<MulticamWidget *>(get_time_based_widget());
}
protected:
virtual void Retranslate() override;
virtual void retranslate() override;
};
}
#endif // MULTICAMPANEL_H
#endif // OAK_MULTICAMPANEL_H
+15 -15
View File
@@ -29,26 +29,26 @@ NodePanel::NodePanel()
{
node_widget_ = new NodeWidget(this);
connect(this, &NodePanel::shown, node_widget_->view(),
&NodeView::CenterOnItemsBoundingRect);
&NodeView::center_on_items_bounding_rect);
connect(node_widget_->view(), &NodeView::NodesSelected, this,
&NodePanel::NodesSelected);
connect(node_widget_->view(), &NodeView::NodesDeselected, this,
&NodePanel::NodesDeselected);
connect(node_widget_->view(), &NodeView::NodeSelectionChanged, this,
&NodePanel::NodeSelectionChanged);
connect(node_widget_->view(), &NodeView::NodeSelectionChangedWithContexts,
this, &NodePanel::NodeSelectionChangedWithContexts);
connect(node_widget_->view(), &NodeView::NodeGroupOpened, this,
&NodePanel::NodeGroupOpened);
connect(node_widget_->view(), &NodeView::NodeGroupClosed, this,
&NodePanel::NodeGroupClosed);
connect(node_widget_->view(), &NodeView::nodes_selected, this,
&NodePanel::nodes_selected);
connect(node_widget_->view(), &NodeView::nodes_deselected, this,
&NodePanel::nodes_deselected);
connect(node_widget_->view(), &NodeView::node_selection_changed, this,
&NodePanel::node_selection_changed);
connect(node_widget_->view(), &NodeView::node_selection_changed_with_contexts,
this, &NodePanel::node_selection_changed_with_contexts);
connect(node_widget_->view(), &NodeView::node_group_opened, this,
&NodePanel::node_group_opened);
connect(node_widget_->view(), &NodeView::node_group_closed, this,
&NodePanel::node_group_closed);
// Set it as the main widget of this panel
SetWidgetWithPadding(node_widget_);
set_widget_with_padding(node_widget_);
// Set strings
Retranslate();
retranslate();
}
}
+44 -44
View File
@@ -19,8 +19,8 @@
***/
#ifndef NODEPANEL_H
#define NODEPANEL_H
#ifndef OAK_NODEPANEL_H
#define OAK_NODEPANEL_H
#include "panel/panel.h"
#include "widget/nodeview/nodewidget.h"
@@ -36,109 +36,109 @@ class NodePanel : public PanelWidget {
public:
NodePanel();
NodeWidget *GetNodeWidget() const
NodeWidget *get_node_widget() const
{
return node_widget_;
}
const QVector<Node *> &GetContexts() const
const QVector<Node *> &get_contexts() const
{
return node_widget_->view()->GetContexts();
return node_widget_->view()->get_contexts();
}
bool IsGroupOverlay() const
bool is_group_overlay() const
{
return node_widget_->view()->IsGroupOverlay();
return node_widget_->view()->is_group_overlay();
}
void SetContexts(const QVector<Node *> &nodes)
void set_contexts(const QVector<Node *> &nodes)
{
node_widget_->SetContexts(nodes);
node_widget_->set_contexts(nodes);
}
void CloseContextsBelongingToProject(Project *project)
void close_contexts_belonging_to_project(Project *project)
{
node_widget_->view()->CloseContextsBelongingToProject(project);
node_widget_->view()->close_contexts_belonging_to_project(project);
}
virtual void SelectAll() override
virtual void select_all() override
{
node_widget_->view()->SelectAll();
node_widget_->view()->select_all();
}
virtual void DeselectAll() override
virtual void deselect_all() override
{
node_widget_->view()->DeselectAll();
node_widget_->view()->deselect_all();
}
virtual void DeleteSelected() override
virtual void delete_selected() override
{
node_widget_->view()->DeleteSelected();
node_widget_->view()->delete_selected();
}
virtual void CutSelected() override
virtual void cut_selected() override
{
node_widget_->view()->CopySelected(true);
node_widget_->view()->copy_selected(true);
}
virtual void CopySelected() override
virtual void copy_selected() override
{
node_widget_->view()->CopySelected(false);
node_widget_->view()->copy_selected(false);
}
virtual void Paste() override
virtual void paste() override
{
node_widget_->view()->Paste();
node_widget_->view()->paste();
}
virtual void Duplicate() override
virtual void duplicate() override
{
node_widget_->view()->Duplicate();
node_widget_->view()->duplicate();
}
virtual void SetColorLabel(int index) override
virtual void set_color_label(int index) override
{
node_widget_->view()->SetColorLabel(index);
node_widget_->view()->set_color_label(index);
}
virtual void ZoomIn() override
virtual void zoom_in() override
{
node_widget_->view()->ZoomIn();
node_widget_->view()->zoom_in();
}
virtual void ZoomOut() override
virtual void zoom_out() override
{
node_widget_->view()->ZoomOut();
node_widget_->view()->zoom_out();
}
virtual void RenameSelected() override
virtual void rename_selected() override
{
node_widget_->view()->LabelSelectedNodes();
node_widget_->view()->label_selected_nodes();
}
public slots:
void Select(const QVector<Node::ContextPair> &p)
void select(const QVector<Node::ContextPair> &p)
{
node_widget_->view()->Select(p, true);
node_widget_->view()->select(p, true);
}
signals:
void NodesSelected(const QVector<Node *> &nodes);
void nodes_selected(const QVector<Node *> &nodes);
void NodesDeselected(const QVector<Node *> &nodes);
void nodes_deselected(const QVector<Node *> &nodes);
void NodeSelectionChanged(const QVector<Node *> &nodes);
void node_selection_changed(const QVector<Node *> &nodes);
void
NodeSelectionChangedWithContexts(const QVector<Node::ContextPair> &nodes);
node_selection_changed_with_contexts(const QVector<Node::ContextPair> &nodes);
void NodeGroupOpened(NodeGroup *group);
void node_group_opened(NodeGroup *group);
void NodeGroupClosed();
void node_group_closed();
private:
virtual void Retranslate() override
virtual void retranslate() override
{
SetTitle(tr("Node Editor"));
set_title(tr("Node Editor"));
}
NodeWidget *node_widget_;
@@ -146,4 +146,4 @@ private:
}
#endif // NODEPANEL_H
#endif // OAK_NODEPANEL_H
+13 -13
View File
@@ -52,31 +52,31 @@ PanelWidget::PanelWidget(const QString &object_name)
connect(this, &PanelWidget::shown, this,
reinterpret_cast<void (PanelWidget::*)()>(&PanelWidget::setFocus));
PanelManager::instance()->RegisterPanel(this);
PanelManager::instance()->register_panel(this);
}
PanelWidget::~PanelWidget()
{
PanelManager::instance()->UnregisterPanel(this);
PanelManager::instance()->unregister_panel(this);
}
void PanelWidget::SetBorderVisible(bool enabled)
void PanelWidget::set_border_visible(bool enabled)
{
border_visible_ = enabled;
update();
}
void PanelWidget::SetTitle(const QString &t)
void PanelWidget::set_title(const QString &t)
{
title_ = t;
UpdateTitle();
update_title();
}
void PanelWidget::SetSubtitle(const QString &t)
void PanelWidget::set_subtitle(const QString &t)
{
subtitle_ = t;
UpdateTitle();
update_title();
}
void PanelWidget::paintEvent(QPaintEvent *event)
@@ -101,7 +101,7 @@ void PanelWidget::paintEvent(QPaintEvent *event)
}
}
void PanelWidget::UpdateTitle()
void PanelWidget::update_title()
{
// If there's no subtitle, just use the title. Otherwise, we set a formatted combination of the two that can
// differ based on translation
@@ -112,7 +112,7 @@ void PanelWidget::UpdateTitle()
}
}
void PanelWidget::SetSignalInsteadOfClose(bool e)
void PanelWidget::set_signal_instead_of_close(bool e)
{
signal_instead_of_close_ = e;
}
@@ -121,7 +121,7 @@ void PanelWidget::closeEvent(QCloseEvent *event)
{
if (signal_instead_of_close_) {
event->ignore();
emit CloseRequested();
emit close_requested();
} else {
super::closeEvent(event);
}
@@ -130,7 +130,7 @@ void PanelWidget::closeEvent(QCloseEvent *event)
void PanelWidget::changeEvent(QEvent *e)
{
if (e->type() == QEvent::LanguageChange) {
Retranslate();
retranslate();
}
if (e->type() == QEvent::WindowStateChange) {
@@ -143,11 +143,11 @@ void PanelWidget::changeEvent(QEvent *e)
super::changeEvent(e);
}
void PanelWidget::Retranslate()
void PanelWidget::retranslate()
{
}
void PanelWidget::SetWidgetWithPadding(QWidget *widget)
void PanelWidget::set_widget_with_padding(QWidget *widget)
{
QWidget *wrapper = new QWidget();
QHBoxLayout *layout = new QHBoxLayout(wrapper);
+63 -63
View File
@@ -19,8 +19,8 @@
***/
#ifndef PANEL_WIDGET_H
#define PANEL_WIDGET_H
#ifndef OAK_PANEL_WIDGET_H
#define OAK_PANEL_WIDGET_H
#include "KDDockWidgets/src/core/Window_p.h"
#include "KDDockWidgets/src/qtwidgets/views/TabBar.h"
@@ -58,21 +58,21 @@ public:
*
* @param enabled
*/
void SetBorderVisible(bool enabled);
void set_border_visible(bool enabled);
/**
* @brief If enabled, sends signal CloseRequested() when the user closes instead of closing
*
* Defaults to FALSE. Use this to override default panel closing functionality.
*/
void SetSignalInsteadOfClose(bool e);
void set_signal_instead_of_close(bool e);
using Info = std::map<QString, QString>;
virtual void LoadData(const Info &info)
virtual void load_data(const Info &info)
{
}
virtual Info SaveData() const
virtual Info save_data() const
{
return Info();
}
@@ -83,7 +83,7 @@ public:
* This function is up to the Panel's interpretation of what the user intends to zoom into. Default behavior is a
* no-op.
*/
virtual void ZoomIn()
virtual void zoom_in()
{
}
@@ -93,15 +93,15 @@ public:
* This function is up to the Panel's interpretation of what the user intends to zoom out of. Default behavior is a
* no-op.
*/
virtual void ZoomOut()
virtual void zoom_out()
{
}
virtual void GoToStart()
virtual void go_to_start()
{
}
virtual void PrevFrame()
virtual void prev_frame()
{
}
@@ -111,180 +111,180 @@ public:
* This function is up to the Panel's interpretation of what the user intends to zoom out of. Default behavior is a
* no-op.
*/
virtual void PlayPause()
virtual void play_pause()
{
}
virtual void PlayInToOut()
virtual void play_in_to_out()
{
}
virtual void NextFrame()
virtual void next_frame()
{
}
virtual void GoToEnd()
virtual void go_to_end()
{
}
virtual void SelectAll()
virtual void select_all()
{
}
virtual void DeselectAll()
virtual void deselect_all()
{
}
virtual void RippleToIn()
virtual void ripple_to_in()
{
}
virtual void RippleToOut()
virtual void ripple_to_out()
{
}
virtual void EditToIn()
virtual void edit_to_in()
{
}
virtual void EditToOut()
virtual void edit_to_out()
{
}
virtual void ShuttleLeft()
virtual void shuttle_left()
{
}
virtual void ShuttleStop()
virtual void shuttle_stop()
{
}
virtual void ShuttleRight()
virtual void shuttle_right()
{
}
virtual void GoToPrevCut()
virtual void go_to_prev_cut()
{
}
virtual void GoToNextCut()
virtual void go_to_next_cut()
{
}
virtual void RenameSelected()
virtual void rename_selected()
{
}
virtual void DeleteSelected()
virtual void delete_selected()
{
}
virtual void RippleDelete()
virtual void ripple_delete()
{
}
virtual void IncreaseTrackHeight()
virtual void increase_track_height()
{
}
virtual void DecreaseTrackHeight()
virtual void decrease_track_height()
{
}
virtual void SetIn()
virtual void set_in()
{
}
virtual void SetOut()
virtual void set_out()
{
}
virtual void ResetIn()
virtual void reset_in()
{
}
virtual void ResetOut()
virtual void reset_out()
{
}
virtual void ClearInOut()
virtual void clear_in_out()
{
}
virtual void SetMarker()
virtual void set_marker()
{
}
virtual void ToggleLinks()
virtual void toggle_links()
{
}
virtual void CutSelected()
virtual void cut_selected()
{
}
virtual void CopySelected()
virtual void copy_selected()
{
}
virtual void Paste()
virtual void paste()
{
}
virtual void PasteInsert()
virtual void paste_insert()
{
}
virtual void ToggleShowAll()
virtual void toggle_show_all()
{
}
virtual void GoToIn()
virtual void go_to_in()
{
}
virtual void GoToOut()
virtual void go_to_out()
{
}
virtual void DeleteInToOut()
virtual void delete_in_to_out()
{
}
virtual void RippleDeleteInToOut()
virtual void ripple_delete_in_to_out()
{
}
virtual void ToggleSelectedEnabled()
virtual void toggle_selected_enabled()
{
}
virtual void Duplicate()
virtual void duplicate()
{
}
virtual void SetColorLabel(int)
virtual void set_color_label(int)
{
}
virtual void NudgeLeft()
virtual void nudge_left()
{
}
virtual void NudgeRight()
virtual void nudge_right()
{
}
virtual void MoveInToPlayhead()
virtual void move_in_to_playhead()
{
}
virtual void MoveOutToPlayhead()
virtual void move_out_to_playhead()
{
}
signals:
void CloseRequested();
void close_requested();
void shown(Qt::FocusReason reason);
void hidden();
@@ -299,9 +299,9 @@ protected:
virtual void closeEvent(QCloseEvent *event) override;
virtual void Retranslate();
virtual void retranslate();
void SetWidgetWithPadding(QWidget *widget);
void set_widget_with_padding(QWidget *widget);
protected slots:
/**
@@ -316,7 +316,7 @@ protected slots:
*
* String to set the title to
*/
void SetTitle(const QString &t);
void set_title(const QString &t);
/**
* @brief Set panel's subtitle
@@ -330,7 +330,7 @@ protected slots:
*
* String to set the subtitle to
*/
void SetSubtitle(const QString &t);
void set_subtitle(const QString &t);
protected slots:
private:
/**
@@ -338,7 +338,7 @@ private:
*
* Should be called any time a change is made to title_ or subtitle_
*/
void UpdateTitle();
void update_title();
QString title_;
@@ -348,11 +348,11 @@ private:
bool signal_instead_of_close_;
QMetaObject::Connection m_tabBarConnection;
QMetaObject::Connection m_windowConnection;
bool m_lastVisibleState = false;
QMetaObject::Connection m_tabBarConnection_;
QMetaObject::Connection m_windowConnection_;
bool m_lastVisibleState_ = false;
};
}
#endif // PANEL_WIDGET_H
#endif // OAK_PANEL_WIDGET_H
+16 -16
View File
@@ -34,7 +34,7 @@ PanelManager::PanelManager(QObject *parent)
{
}
void PanelManager::DeleteAllPanels()
void PanelManager::delete_all_panels()
{
// Prevent any confusion regarding focus history by clearing it first
QList<PanelWidget *> copy = focus_history_;
@@ -47,12 +47,12 @@ const QList<PanelWidget *> &PanelManager::panels()
return focus_history_;
}
PanelWidget *PanelManager::CurrentlyFocused(bool enable_hover) const
PanelWidget *PanelManager::currently_focused(bool enable_hover) const
{
// If hover focus is enabled, find the currently hovered panel and return it (if no panel is hovered, resort to
// default behavior)
if (enable_hover && OLIVE_CONFIG("HoverFocus").toBool()) {
PanelWidget *hovered = CurrentlyHovered();
if (enable_hover && OAK_CONFIG("HoverFocus").toBool()) {
PanelWidget *hovered = currently_hovered();
if (hovered != nullptr) {
return hovered;
@@ -66,7 +66,7 @@ PanelWidget *PanelManager::CurrentlyFocused(bool enable_hover) const
return focus_history_.first();
}
PanelWidget *PanelManager::CurrentlyHovered() const
PanelWidget *PanelManager::currently_hovered() const
{
QPoint global_mouse = QCursor::pos();
@@ -79,7 +79,7 @@ PanelWidget *PanelManager::CurrentlyHovered() const
return nullptr;
}
PanelWidget *PanelManager::GetPanelWithName(const QString &name) const
PanelWidget *PanelManager::get_panel_with_name(const QString &name) const
{
foreach (PanelWidget *panel, focus_history_) {
if (panel->objectName() == name) {
@@ -90,12 +90,12 @@ PanelWidget *PanelManager::GetPanelWithName(const QString &name) const
return nullptr;
}
void PanelManager::CreateInstance()
void PanelManager::create_instance()
{
instance_ = new PanelManager();
}
void PanelManager::DestroyInstance()
void PanelManager::destroy_instance()
{
delete instance_;
instance_ = nullptr;
@@ -106,7 +106,7 @@ PanelManager *PanelManager::instance()
return instance_;
}
void PanelManager::RegisterPanel(PanelWidget *panel)
void PanelManager::register_panel(PanelWidget *panel)
{
// Add panel to the bottom of the focus history
focus_history_.append(panel);
@@ -117,17 +117,17 @@ void PanelManager::RegisterPanel(PanelWidget *panel)
if (focus_history_.size() == 1) {
// This is the first panel, focus it
panel->SetBorderVisible(true);
emit FocusedPanelChanged(panel);
panel->set_border_visible(true);
emit focused_panel_changed(panel);
}
}
void PanelManager::UnregisterPanel(PanelWidget *panel)
void PanelManager::unregister_panel(PanelWidget *panel)
{
focus_history_.removeOne(panel);
}
void PanelManager::FocusChanged(QWidget *old, QWidget *now)
void PanelManager::focus_changed(QWidget *old, QWidget *now)
{
Q_UNUSED(old)
@@ -147,11 +147,11 @@ void PanelManager::FocusChanged(QWidget *old, QWidget *now)
// Disable highlight border on old panel
if (!focus_history_.isEmpty()) {
focus_history_.first()->SetBorderVisible(false);
focus_history_.first()->set_border_visible(false);
}
// Enable new border's highlight
panel_cast_test->SetBorderVisible(true);
panel_cast_test->set_border_visible(true);
// If it's not in the focus history, prepend it, otherwise move it
if (panel_index == -1) {
@@ -161,7 +161,7 @@ void PanelManager::FocusChanged(QWidget *old, QWidget *now)
}
if (!suppress_changed_signal_) {
emit FocusedPanelChanged(panel_cast_test);
emit focused_panel_changed(panel_cast_test);
}
}
+23 -23
View File
@@ -19,8 +19,8 @@
***/
#ifndef PANELFOCUSMANAGER_H
#define PANELFOCUSMANAGER_H
#ifndef OAK_PANELFOCUSMANAGER_H
#define OAK_PANELFOCUSMANAGER_H
#include <QObject>
#include <QList>
@@ -41,7 +41,7 @@ namespace olive
* aims to be less specific than a single QPushButton or QLineEdit, and rather specific to the panel widgets like
* that belong to.
*
* PanelFocusManager's SLOT(FocusChanged()) connects to the QApplication instance's SIGNAL(focusChanged()) so that
* PanelFocusManager's SLOT(focus_changed()) connects to the QApplication instance_'s SIGNAL(focusChanged()) so that
* it always knows when focus has changed within the application.
*/
class PanelManager : public QObject {
@@ -54,7 +54,7 @@ public:
*
* Should only be used on application exit to cleanly free all panels.
*/
void DeleteAllPanels();
void delete_all_panels();
/**
* @brief Get a list of all existing panels
@@ -68,14 +68,14 @@ public:
*
* This result == CurrentlyFocused() if HoverFocus is true and panel is hovered
*/
PanelWidget *CurrentlyFocused(bool enable_hover = true) const;
PanelWidget *currently_focused(bool enable_hover = true) const;
/**
* @brief Return the widget that the mouse is currently hovering over, or nullptr if nothing is hovered over
*/
PanelWidget *CurrentlyHovered() const;
PanelWidget *currently_hovered() const;
PanelWidget *GetPanelWithName(const QString &name) const;
PanelWidget *get_panel_with_name(const QString &name) const;
template <class T>
/**
@@ -85,22 +85,22 @@ public:
*
* The most recently focused panel of the specified type, or nullptr if none exists
*/
T *MostRecentlyFocused();
T *most_recently_focused();
/**
* @brief Create PanelManager singleton instance
* @brief Create PanelManager singleton instance_
*/
static void CreateInstance();
static void create_instance();
/**
* @brief Destroy PanelManager singleton instance
* @brief Destroy PanelManager singleton instance_
*
* If no PanelManager was created, this is a no-op.
*/
static void DestroyInstance();
static void destroy_instance();
/**
* @brief Access to PanelManager singleton instance
* @brief Access to PanelManager singleton instance_
*/
static PanelManager *instance();
@@ -108,19 +108,19 @@ public:
/**
* @brief Get a list of panels of a certain type
*/
QList<T *> GetPanelsOfType();
QList<T *> get_panels_of_type();
/**
* @brief Panel should call this upon construction so it can be kept track of
*/
void RegisterPanel(PanelWidget *panel);
void register_panel(PanelWidget *panel);
/**
* @brief Panel should call this upon destruction so no invalid pointers will be kept for it
*/
void UnregisterPanel(PanelWidget *panel);
void unregister_panel(PanelWidget *panel);
void SetSuppressChangedSignal(bool e)
void set_suppress_changed_signal(bool e)
{
suppress_changed_signal_ = e;
}
@@ -131,13 +131,13 @@ public slots:
*
* Interprets focus information to determine the currently focused panel
*/
void FocusChanged(QWidget *old, QWidget *now);
void focus_changed(QWidget *old, QWidget *now);
signals:
/**
* @brief Signal emitted when the currently focused panel changes
*/
void FocusedPanelChanged(PanelWidget *panel);
void focused_panel_changed(PanelWidget *panel);
private:
/**
@@ -146,14 +146,14 @@ private:
QList<PanelWidget *> focus_history_;
/**
* @brief PanelManager singleton instance
* @brief PanelManager singleton instance_
*/
static PanelManager *instance_;
bool suppress_changed_signal_;
};
template <class T> T *PanelManager::MostRecentlyFocused()
template <class T> T *PanelManager::most_recently_focused()
{
T *cast_test;
@@ -168,7 +168,7 @@ template <class T> T *PanelManager::MostRecentlyFocused()
return nullptr;
}
template <class T> QList<T *> PanelManager::GetPanelsOfType()
template <class T> QList<T *> PanelManager::get_panels_of_type()
{
QList<T *> panels;
@@ -187,4 +187,4 @@ template <class T> QList<T *> PanelManager::GetPanelsOfType()
}
#endif // PANELFOCUSMANAGER_H
#endif // OAK_PANELFOCUSMANAGER_H
+19 -19
View File
@@ -30,41 +30,41 @@ ParamPanel::ParamPanel()
: TimeBasedPanel(QStringLiteral("ParamPanel"))
{
NodeParamView *view = new NodeParamView(this);
connect(view, &NodeParamView::FocusedNodeChanged, this,
&ParamPanel::FocusedNodeChanged);
connect(view, &NodeParamView::SelectedNodesChanged, this,
&ParamPanel::SelectedNodesChanged);
connect(view, &NodeParamView::RequestViewerToStartEditingText, this,
&ParamPanel::RequestViewerToStartEditingText);
connect(this, &ParamPanel::shown, view, &NodeParamView::UpdateElementY);
SetTimeBasedWidget(view);
connect(view, &NodeParamView::focused_node_changed, this,
&ParamPanel::focused_node_changed);
connect(view, &NodeParamView::selected_nodes_changed, this,
&ParamPanel::selected_nodes_changed);
connect(view, &NodeParamView::request_viewer_to_start_editing_text, this,
&ParamPanel::request_viewer_to_start_editing_text);
connect(this, &ParamPanel::shown, view, &NodeParamView::update_element_y);
set_time_based_widget(view);
Retranslate();
retranslate();
}
void ParamPanel::DeleteSelected()
void ParamPanel::delete_selected()
{
static_cast<NodeParamView *>(GetTimeBasedWidget())->DeleteSelected();
static_cast<NodeParamView *>(get_time_based_widget())->DeleteSelected();
}
void ParamPanel::SelectAll()
void ParamPanel::select_all()
{
static_cast<NodeParamView *>(GetTimeBasedWidget())->SelectAll();
static_cast<NodeParamView *>(get_time_based_widget())->select_all();
}
void ParamPanel::DeselectAll()
void ParamPanel::deselect_all()
{
static_cast<NodeParamView *>(GetTimeBasedWidget())->DeselectAll();
static_cast<NodeParamView *>(get_time_based_widget())->deselect_all();
}
void ParamPanel::SetContexts(const QVector<Node *> &contexts)
void ParamPanel::set_contexts(const QVector<Node *> &contexts)
{
static_cast<NodeParamView *>(GetTimeBasedWidget())->SetContexts(contexts);
static_cast<NodeParamView *>(get_time_based_widget())->set_contexts(contexts);
}
void ParamPanel::Retranslate()
void ParamPanel::retranslate()
{
SetTitle(tr("Parameter Editor"));
set_title(tr("Parameter Editor"));
}
}
+19 -19
View File
@@ -19,8 +19,8 @@
***/
#ifndef PARAM_H
#define PARAM_H
#ifndef OAK_PARAM_H
#define OAK_PARAM_H
#include "panel/curve/curve.h"
#include "panel/timebased/timebased.h"
@@ -34,46 +34,46 @@ class ParamPanel : public TimeBasedPanel {
public:
ParamPanel();
NodeParamView *GetParamView() const
NodeParamView *get_param_view() const
{
return static_cast<NodeParamView *>(GetTimeBasedWidget());
return static_cast<NodeParamView *>(get_time_based_widget());
}
const QVector<Node *> &GetContexts() const
const QVector<Node *> &get_contexts() const
{
return GetParamView()->GetContexts();
return get_param_view()->get_contexts();
}
void CloseContextsBelongingToProject(Project *p)
void close_contexts_belonging_to_project(Project *p)
{
GetParamView()->CloseContextsBelongingToProject(p);
get_param_view()->close_contexts_belonging_to_project(p);
}
public slots:
void SetSelectedNodes(const QVector<Node::ContextPair> &nodes)
void set_selected_nodes(const QVector<Node::ContextPair> &nodes)
{
GetParamView()->SetSelectedNodes(nodes, false);
get_param_view()->set_selected_nodes(nodes, false);
}
virtual void DeleteSelected() override;
virtual void delete_selected() override;
virtual void SelectAll() override;
virtual void select_all() override;
virtual void DeselectAll() override;
virtual void deselect_all() override;
void SetContexts(const QVector<Node *> &contexts);
void set_contexts(const QVector<Node *> &contexts);
signals:
void FocusedNodeChanged(Node *n);
void focused_node_changed(Node *n);
void SelectedNodesChanged(const QVector<Node::ContextPair> &nodes);
void selected_nodes_changed(const QVector<Node::ContextPair> &nodes);
void RequestViewerToStartEditingText();
void request_viewer_to_start_editing_text();
protected:
virtual void Retranslate() override;
virtual void retranslate() override;
};
}
#endif // PARAM_H
#endif // OAK_PARAM_H
+10 -10
View File
@@ -30,26 +30,26 @@ PixelSamplerPanel::PixelSamplerPanel()
: PanelWidget(QStringLiteral("PixelSamplerPanel"))
{
sampler_widget_ = new ManagedPixelSamplerWidget(this);
SetWidgetWithPadding(sampler_widget_);
set_widget_with_padding(sampler_widget_);
connect(this, &PixelSamplerPanel::shown, Core::instance(),
[] { Core::instance()->RequestPixelSamplingInViewers(true); });
[] { Core::instance()->request_pixel_sampling_in_viewers(true); });
connect(this, &PixelSamplerPanel::hidden, Core::instance(),
[] { Core::instance()->RequestPixelSamplingInViewers(false); });
connect(Core::instance(), &Core::ColorPickerColorEmitted, this,
&PixelSamplerPanel::SetValues);
[] { Core::instance()->request_pixel_sampling_in_viewers(false); });
connect(Core::instance(), &Core::color_picker_color_emitted, this,
&PixelSamplerPanel::set_values);
Retranslate();
retranslate();
}
void PixelSamplerPanel::SetValues(const Color &reference, const Color &display)
void PixelSamplerPanel::set_values(const Color &reference, const Color &display)
{
sampler_widget_->SetValues(reference, display);
sampler_widget_->set_values(reference, display);
}
void PixelSamplerPanel::Retranslate()
void PixelSamplerPanel::retranslate()
{
SetTitle(tr("Pixel Sampler"));
set_title(tr("Pixel Sampler"));
}
}
+5 -5
View File
@@ -19,8 +19,8 @@
***/
#ifndef PIXELSAMPLERPANEL_H
#define PIXELSAMPLERPANEL_H
#ifndef OAK_PIXELSAMPLERPANEL_H
#define OAK_PIXELSAMPLERPANEL_H
#include "panel/panel.h"
#include "widget/pixelsampler/pixelsampler.h"
@@ -34,14 +34,14 @@ public:
PixelSamplerPanel();
public slots:
void SetValues(const Color &reference, const Color &display);
void set_values(const Color &reference, const Color &display);
private:
virtual void Retranslate() override;
virtual void retranslate() override;
ManagedPixelSamplerWidget *sampler_widget_;
};
}
#endif // PIXELSAMPLERPANEL_H
#endif // OAK_PIXELSAMPLERPANEL_H
+4 -4
View File
@@ -19,8 +19,8 @@
***/
#ifndef FOOTAGEMANAGEMENTPANEL_H
#define FOOTAGEMANAGEMENTPANEL_H
#ifndef OAK_FOOTAGEMANAGEMENTPANEL_H
#define OAK_FOOTAGEMANAGEMENTPANEL_H
#include <QList>
@@ -31,9 +31,9 @@ namespace olive
class FootageManagementPanel {
public:
virtual QVector<ViewerOutput *> GetSelectedFootage() const = 0;
virtual QVector<ViewerOutput *> get_selected_footage() const = 0;
};
}
#endif // FOOTAGEMANAGEMENTPANEL_H
#endif // OAK_FOOTAGEMANAGEMENTPANEL_H
+60 -60
View File
@@ -44,39 +44,39 @@ ProjectPanel::ProjectPanel(const QString &unique_name)
QVBoxLayout *layout = new QVBoxLayout(central_widget);
layout->setContentsMargins(0, 0, 0, 0);
SetWidgetWithPadding(central_widget);
set_widget_with_padding(central_widget);
// Set up project toolbar
ProjectToolbar *toolbar = new ProjectToolbar(this);
layout->addWidget(toolbar);
// Make toolbar connections
connect(toolbar, &ProjectToolbar::NewClicked, this,
&ProjectPanel::ShowNewMenu);
connect(toolbar, &ProjectToolbar::OpenClicked, Core::instance(),
&Core::OpenProject);
connect(toolbar, &ProjectToolbar::SaveClicked, this,
&ProjectPanel::SaveConnectedProject);
connect(toolbar, &ProjectToolbar::new_clicked, this,
&ProjectPanel::show_new_menu);
connect(toolbar, &ProjectToolbar::open_clicked, Core::instance(),
&Core::open_project);
connect(toolbar, &ProjectToolbar::save_clicked, this,
&ProjectPanel::save_connected_project);
// Set up main explorer object
explorer_ = new ProjectExplorer(this);
layout->addWidget(explorer_);
connect(explorer_, &ProjectExplorer::DoubleClickedItem, this,
&ProjectPanel::ItemDoubleClickSlot);
connect(explorer_, &ProjectExplorer::SelectionChanged, this,
&ProjectPanel::SelectionChanged);
connect(toolbar, &ProjectToolbar::SearchChanged, explorer_,
&ProjectExplorer::SetSearchFilter);
connect(explorer_, &ProjectExplorer::double_clicked_item, this,
&ProjectPanel::item_double_click_slot);
connect(explorer_, &ProjectExplorer::selection_changed, this,
&ProjectPanel::selection_changed);
connect(toolbar, &ProjectToolbar::search_changed, explorer_,
&ProjectExplorer::set_search_filter);
// Set toolbar's view to the explorer's view
toolbar->SetView(explorer_->view_type());
toolbar->set_view(explorer_->view_type());
// Connect toolbar's view change signal to the explorer's view change slot
connect(toolbar, &ProjectToolbar::ViewChanged, explorer_,
connect(toolbar, &ProjectToolbar::view_changed, explorer_,
&ProjectExplorer::set_view_type);
// Set strings
Retranslate();
retranslate();
}
Project *ProjectPanel::project() const
@@ -87,24 +87,24 @@ Project *ProjectPanel::project() const
void ProjectPanel::set_project(Project *p)
{
if (project()) {
disconnect(project(), &Project::NameChanged, this,
&ProjectPanel::UpdateSubtitle);
disconnect(project(), &Project::NameChanged, this,
&ProjectPanel::ProjectNameChanged);
disconnect(project(), &Project::name_changed, this,
&ProjectPanel::update_subtitle);
disconnect(project(), &Project::name_changed, this,
&ProjectPanel::project_name_changed);
}
explorer_->set_project(p);
if (project()) {
connect(project(), &Project::NameChanged, this,
&ProjectPanel::UpdateSubtitle);
connect(project(), &Project::NameChanged, this,
&ProjectPanel::ProjectNameChanged);
connect(project(), &Project::name_changed, this,
&ProjectPanel::update_subtitle);
connect(project(), &Project::name_changed, this,
&ProjectPanel::project_name_changed);
}
UpdateSubtitle();
update_subtitle();
emit ProjectNameChanged();
emit project_name_changed();
}
Folder *ProjectPanel::get_root() const
@@ -116,17 +116,17 @@ void ProjectPanel::set_root(Folder *item)
{
explorer_->set_root(item);
Retranslate();
retranslate();
}
QVector<Node *> ProjectPanel::SelectedItems() const
QVector<Node *> ProjectPanel::selected_items() const
{
return explorer_->SelectedItems();
return explorer_->selected_items();
}
Folder *ProjectPanel::GetSelectedFolder() const
Folder *ProjectPanel::get_selected_folder() const
{
return explorer_->GetSelectedFolder();
return explorer_->get_selected_folder();
}
ProjectViewModel *ProjectPanel::model() const
@@ -134,71 +134,71 @@ ProjectViewModel *ProjectPanel::model() const
return explorer_->model();
}
void ProjectPanel::SelectAll()
void ProjectPanel::select_all()
{
explorer_->SelectAll();
explorer_->select_all();
}
void ProjectPanel::DeselectAll()
void ProjectPanel::deselect_all()
{
explorer_->DeselectAll();
explorer_->deselect_all();
}
void ProjectPanel::DeleteSelected()
void ProjectPanel::delete_selected()
{
explorer_->DeleteSelected();
explorer_->delete_selected();
}
void ProjectPanel::RenameSelected()
void ProjectPanel::rename_selected()
{
explorer_->RenameSelectedItem();
explorer_->rename_selected_item();
}
void ProjectPanel::Edit(Node *item)
void ProjectPanel::edit(Node *item)
{
explorer_->Edit(item);
explorer_->edit(item);
}
void ProjectPanel::Retranslate()
void ProjectPanel::retranslate()
{
if (project() && explorer_->get_root() != project()->root()) {
SetTitle(tr("Folder"));
set_title(tr("Folder"));
} else {
SetTitle(tr("Project"));
set_title(tr("Project"));
}
UpdateSubtitle();
update_subtitle();
}
void ProjectPanel::ItemDoubleClickSlot(Node *item)
void ProjectPanel::item_double_click_slot(Node *item)
{
if (item == nullptr) {
// If the user double clicks on empty space, show the import dialog
Core::instance()->DialogImportShow();
Core::instance()->dialog_import_show();
} else if (dynamic_cast<Footage *>(item)) {
// Open this footage in a FootageViewer
auto panel =
PanelManager::instance()->MostRecentlyFocused<FootageViewerPanel>();
panel->ConnectViewerNode(static_cast<Footage *>(item));
PanelManager::instance()->most_recently_focused<FootageViewerPanel>();
panel->connect_viewer_node(static_cast<Footage *>(item));
panel->raise();
panel->setFocus(Qt::FocusReason::MouseFocusReason);
} else if (dynamic_cast<Sequence *>(item)) {
// Open this sequence in the Timeline
Core::instance()->main_window()->OpenSequence(
Core::instance()->main_window()->open_sequence(
static_cast<Sequence *>(item));
}
}
void ProjectPanel::ShowNewMenu()
void ProjectPanel::show_new_menu()
{
Menu new_menu(this);
MenuShared::instance()->AddItemsForNewMenu(&new_menu);
MenuShared::instance()->add_items_for_new_menu(&new_menu);
new_menu.exec(QCursor::pos());
}
void ProjectPanel::UpdateSubtitle()
void ProjectPanel::update_subtitle()
{
if (project()) {
QString project_title = QStringLiteral("%1").arg(project()->name());
@@ -210,7 +210,7 @@ void ProjectPanel::UpdateSubtitle()
do {
folder_path.prepend(
QStringLiteral("/%1").arg(item->GetLabel()));
QStringLiteral("/%1").arg(item->get_label()));
item = item->folder();
} while (item != project()->root());
@@ -218,20 +218,20 @@ void ProjectPanel::UpdateSubtitle()
project_title.append(folder_path);
}
SetSubtitle(project_title);
set_subtitle(project_title);
} else {
SetSubtitle(tr("(none)"));
set_subtitle(tr("(none)"));
}
}
void ProjectPanel::SaveConnectedProject()
void ProjectPanel::save_connected_project()
{
Core::instance()->SaveProject();
Core::instance()->save_project();
}
QVector<ViewerOutput *> ProjectPanel::GetSelectedFootage() const
QVector<ViewerOutput *> ProjectPanel::get_selected_footage() const
{
QVector<Node *> items = SelectedItems();
QVector<Node *> items = selected_items();
QVector<ViewerOutput *> footage;
foreach (Node *i, items) {
+20 -20
View File
@@ -19,8 +19,8 @@
***/
#ifndef PROJECT_PANEL_H
#define PROJECT_PANEL_H
#ifndef OAK_PROJECT_PANEL_H
#define OAK_PROJECT_PANEL_H
#include "footagemanagementpanel.h"
#include "node/project.h"
@@ -45,49 +45,49 @@ public:
void set_root(Folder *item);
QVector<Node *> SelectedItems() const;
QVector<Node *> selected_items() const;
Folder *GetSelectedFolder() const;
Folder *get_selected_folder() const;
virtual QVector<ViewerOutput *> GetSelectedFootage() const override;
virtual QVector<ViewerOutput *> get_selected_footage() const override;
ProjectViewModel *model() const;
bool SelectItem(Node *n, bool deselect_all_first = true)
bool select_item(Node *n, bool deselect_all_first = true)
{
return explorer_->SelectItem(n, deselect_all_first);
return explorer_->select_item(n, deselect_all_first);
}
virtual void SelectAll() override;
virtual void DeselectAll() override;
virtual void select_all() override;
virtual void deselect_all() override;
virtual void DeleteSelected() override;
virtual void delete_selected() override;
virtual void RenameSelected() override;
virtual void rename_selected() override;
public slots:
void Edit(Node *item);
void edit(Node *item);
signals:
void ProjectNameChanged();
void project_name_changed();
void SelectionChanged(const QVector<Node *> &selected);
void selection_changed(const QVector<Node *> &selected);
private:
virtual void Retranslate() override;
virtual void retranslate() override;
ProjectExplorer *explorer_;
private slots:
void ItemDoubleClickSlot(Node *item);
void item_double_click_slot(Node *item);
void ShowNewMenu();
void show_new_menu();
void UpdateSubtitle();
void update_subtitle();
void SaveConnectedProject();
void save_connected_project();
};
}
#endif // PROJECT_PANEL_H
#endif // OAK_PROJECT_PANEL_H
+33 -33
View File
@@ -42,7 +42,7 @@ ScopePanel::ScopePanel()
scope_type_combobox_ = new QComboBox();
for (int i = 0; i < ScopePanel::kTypeCount; i++) {
for (int i = 0; i < ScopePanel::k_type_count; i++) {
// These strings get filled in later in Retranslate()
scope_type_combobox_->addItem(QString());
}
@@ -72,81 +72,81 @@ ScopePanel::ScopePanel()
static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged),
stack_, &QStackedWidget::setCurrentIndex);
Retranslate();
retranslate();
}
void ScopePanel::SetType(ScopePanel::Type t)
void ScopePanel::set_type(ScopePanel::Type t)
{
scope_type_combobox_->setCurrentIndex(t);
}
QString ScopePanel::TypeToName(ScopePanel::Type t)
QString ScopePanel::type_to_name(ScopePanel::Type t)
{
switch (t) {
case kTypeWaveform:
case k_type_waveform:
return tr("Waveform");
case kTypeVectorscope:
case k_type_vectorscope:
return tr("Vectorscope");
case kTypeHistogram:
case k_type_histogram:
return tr("Histogram");
case kTypeCount:
case k_type_count:
break;
}
return QString();
}
void ScopePanel::SetViewerPanel(ViewerPanelBase *vp)
void ScopePanel::set_viewer_panel(ViewerPanelBase *vp)
{
if (viewer_ == vp) {
return;
}
if (viewer_) {
disconnect(viewer_, &ViewerPanelBase::TextureChanged, this,
&ScopePanel::SetReferenceBuffer);
disconnect(viewer_, &ViewerPanelBase::ColorManagerChanged, this,
&ScopePanel::SetColorManager);
disconnect(viewer_, &ViewerPanelBase::texture_changed, this,
&ScopePanel::set_reference_buffer);
disconnect(viewer_, &ViewerPanelBase::color_manager_changed, this,
&ScopePanel::set_color_manager);
}
viewer_ = vp;
if (viewer_) {
// Connect viewer widget texture drawing to scope panel
connect(viewer_, &ViewerPanelBase::TextureChanged, this,
&ScopePanel::SetReferenceBuffer);
connect(viewer_, &ViewerPanelBase::ColorManagerChanged, this,
&ScopePanel::SetColorManager);
connect(viewer_, &ViewerPanelBase::texture_changed, this,
&ScopePanel::set_reference_buffer);
connect(viewer_, &ViewerPanelBase::color_manager_changed, this,
&ScopePanel::set_color_manager);
SetColorManager(viewer_->GetColorManager());
set_color_manager(viewer_->get_color_manager());
viewer_->UpdateTextureFromNode();
viewer_->update_texture_from_node();
} else {
SetReferenceBuffer(nullptr);
SetColorManager(nullptr);
set_reference_buffer(nullptr);
set_color_manager(nullptr);
}
}
void ScopePanel::SetReferenceBuffer(TexturePtr frame)
void ScopePanel::set_reference_buffer(TexturePtr frame)
{
histogram_->SetBuffer(frame);
vectorscope_->SetBuffer(frame);
waveform_view_->SetBuffer(frame);
histogram_->set_buffer(frame);
vectorscope_->set_buffer(frame);
waveform_view_->set_buffer(frame);
}
void ScopePanel::SetColorManager(ColorManager *manager)
void ScopePanel::set_color_manager(ColorManager *manager)
{
histogram_->ConnectColorManager(manager);
vectorscope_->ConnectColorManager(manager);
waveform_view_->ConnectColorManager(manager);
histogram_->connect_color_manager(manager);
vectorscope_->connect_color_manager(manager);
waveform_view_->connect_color_manager(manager);
}
void ScopePanel::Retranslate()
void ScopePanel::retranslate()
{
SetTitle(tr("Scopes"));
set_title(tr("Scopes"));
for (int i = 0; i < ScopePanel::kTypeCount; i++) {
scope_type_combobox_->setItemText(i, TypeToName(static_cast<Type>(i)));
for (int i = 0; i < ScopePanel::k_type_count; i++) {
scope_type_combobox_->setItemText(i, type_to_name(static_cast<Type>(i)));
}
}
+14 -14
View File
@@ -19,8 +19,8 @@
***/
#ifndef SCOPE_PANEL_H
#define SCOPE_PANEL_H
#ifndef OAK_SCOPE_PANEL_H
#define OAK_SCOPE_PANEL_H
#include <QComboBox>
#include <QStackedWidget>
@@ -38,33 +38,33 @@ class ScopePanel : public PanelWidget {
Q_OBJECT
public:
enum Type {
kTypeWaveform,
kTypeVectorscope,
kTypeHistogram,
k_type_waveform,
k_type_vectorscope,
k_type_histogram,
kTypeCount
k_type_count
};
ScopePanel();
void SetType(Type t);
void set_type(Type t);
static QString TypeToName(Type t);
static QString type_to_name(Type t);
void SetViewerPanel(ViewerPanelBase *vp);
void set_viewer_panel(ViewerPanelBase *vp);
ViewerPanelBase *GetConnectedViewerPanel() const
ViewerPanelBase *get_connected_viewer_panel() const
{
return viewer_;
}
public slots:
void SetReferenceBuffer(TexturePtr frame);
void set_reference_buffer(TexturePtr frame);
void SetColorManager(ColorManager *manager);
void set_color_manager(ColorManager *manager);
protected:
virtual void Retranslate() override;
virtual void retranslate() override;
private:
Type type_;
@@ -84,4 +84,4 @@ private:
}
#endif // SCOPE_PANEL_H
#endif // OAK_SCOPE_PANEL_H
+7 -7
View File
@@ -29,22 +29,22 @@ SequenceViewerPanel::SequenceViewerPanel()
: ViewerPanel(QStringLiteral("SequenceViewerPanel"))
{
// Set strings
Retranslate();
retranslate();
}
void SequenceViewerPanel::StartCapture(const TimeRange &time,
void SequenceViewerPanel::start_capture(const TimeRange &time,
const Track::Reference &track)
{
TimelinePanel *tp = static_cast<TimelinePanel *>(sender());
static_cast<ViewerWidget *>(GetTimeBasedWidget())
->StartCapture(tp->timeline_widget(), time, track);
static_cast<ViewerWidget *>(get_time_based_widget())
->start_capture(tp->timeline_widget(), time, track);
}
void SequenceViewerPanel::Retranslate()
void SequenceViewerPanel::retranslate()
{
ViewerPanel::Retranslate();
ViewerPanel::retranslate();
SetTitle(tr("Sequence Viewer"));
set_title(tr("Sequence Viewer"));
}
}
+5 -5
View File
@@ -19,8 +19,8 @@
***/
#ifndef SEQUENCEVIEWERPANEL_H
#define SEQUENCEVIEWERPANEL_H
#ifndef OAK_SEQUENCEVIEWERPANEL_H
#define OAK_SEQUENCEVIEWERPANEL_H
#include "panel/viewer/viewer.h"
@@ -33,12 +33,12 @@ public:
SequenceViewerPanel();
public slots:
void StartCapture(const TimeRange &time, const Track::Reference &track);
void start_capture(const TimeRange &time, const Track::Reference &track);
protected:
virtual void Retranslate() override;
virtual void retranslate() override;
};
}
#endif // SEQUENCEVIEWERPANEL_H
#endif // OAK_SEQUENCEVIEWERPANEL_H
+4 -4
View File
@@ -27,14 +27,14 @@ namespace olive
NodeTablePanel::NodeTablePanel()
: TimeBasedPanel(QStringLiteral("NodeTablePanel"))
{
SetTimeBasedWidget(new NodeTableWidget(this));
set_time_based_widget(new NodeTableWidget(this));
Retranslate();
retranslate();
}
void NodeTablePanel::Retranslate()
void NodeTablePanel::retranslate()
{
SetTitle(tr("Table View"));
set_title(tr("Table View"));
}
}
+9 -9
View File
@@ -19,8 +19,8 @@
***/
#ifndef NODETABLEPANEL_H
#define NODETABLEPANEL_H
#ifndef OAK_NODETABLEPANEL_H
#define OAK_NODETABLEPANEL_H
#include "panel/timebased/timebased.h"
#include "widget/nodetableview/nodetablewidget.h"
@@ -34,21 +34,21 @@ public:
NodeTablePanel();
public slots:
void SelectNodes(const QVector<Node *> &nodes)
void select_nodes(const QVector<Node *> &nodes)
{
static_cast<NodeTableWidget *>(GetTimeBasedWidget())->SelectNodes(nodes);
static_cast<NodeTableWidget *>(get_time_based_widget())->select_nodes(nodes);
}
void DeselectNodes(const QVector<Node *> &nodes)
void deselect_nodes(const QVector<Node *> &nodes)
{
static_cast<NodeTableWidget *>(GetTimeBasedWidget())
->DeselectNodes(nodes);
static_cast<NodeTableWidget *>(get_time_based_widget())
->deselect_nodes(nodes);
}
private:
virtual void Retranslate() override;
virtual void retranslate() override;
};
}
#endif // NODETABLEPANEL_H
#endif // OAK_NODETABLEPANEL_H
+11 -11
View File
@@ -36,22 +36,22 @@ TaskManagerPanel::TaskManagerPanel()
setWidget(view_);
// Connect task view to the task manager
connect(TaskManager::instance(), &TaskManager::TaskAdded, view_,
&TaskView::AddTask);
connect(TaskManager::instance(), &TaskManager::TaskRemoved, view_,
&TaskView::RemoveTask);
connect(TaskManager::instance(), &TaskManager::TaskFailed, view_,
&TaskView::TaskFailed);
connect(view_, &TaskView::TaskCancelled, TaskManager::instance(),
&TaskManager::CancelTask);
connect(TaskManager::instance(), &TaskManager::task_added, view_,
&TaskView::add_task);
connect(TaskManager::instance(), &TaskManager::task_removed, view_,
&TaskView::remove_task);
connect(TaskManager::instance(), &TaskManager::task_failed, view_,
&TaskView::task_failed);
connect(view_, &TaskView::task_cancelled, TaskManager::instance(),
&TaskManager::cancel_task);
// Set strings
Retranslate();
retranslate();
}
void TaskManagerPanel::Retranslate()
void TaskManagerPanel::retranslate()
{
SetTitle(tr("Task Manager"));
set_title(tr("Task Manager"));
}
}
+3 -3
View File
@@ -19,8 +19,8 @@
***/
#ifndef TASKMANAGER_PANEL_H
#define TASKMANAGER_PANEL_H
#ifndef OAK_TASKMANAGER_PANEL_H
#define OAK_TASKMANAGER_PANEL_H
#include "panel/panel.h"
#include "widget/taskview/taskview.h"
@@ -37,7 +37,7 @@ public:
TaskManagerPanel();
private:
virtual void Retranslate() override;
virtual void retranslate() override;
TaskView *view_;
};
+72 -72
View File
@@ -36,122 +36,122 @@ TimeBasedPanel::~TimeBasedPanel()
delete widget_;
}
const rational &TimeBasedPanel::timebase()
const Rational &TimeBasedPanel::timebase()
{
return widget_->timebase();
}
void TimeBasedPanel::GoToStart()
void TimeBasedPanel::go_to_start()
{
widget_->GoToStart();
widget_->go_to_start();
}
void TimeBasedPanel::PrevFrame()
void TimeBasedPanel::prev_frame()
{
widget_->PrevFrame();
widget_->prev_frame();
}
void TimeBasedPanel::NextFrame()
void TimeBasedPanel::next_frame()
{
widget_->NextFrame();
widget_->next_frame();
}
void TimeBasedPanel::GoToEnd()
void TimeBasedPanel::go_to_end()
{
widget_->GoToEnd();
widget_->go_to_end();
}
void TimeBasedPanel::ZoomIn()
void TimeBasedPanel::zoom_in()
{
widget_->ZoomIn();
widget_->zoom_in();
}
void TimeBasedPanel::ZoomOut()
void TimeBasedPanel::zoom_out()
{
widget_->ZoomOut();
widget_->zoom_out();
}
void TimeBasedPanel::SetTimebase(const rational &timebase)
void TimeBasedPanel::set_timebase(const Rational &timebase)
{
widget_->SetTimebase(timebase);
}
void TimeBasedPanel::GoToPrevCut()
void TimeBasedPanel::go_to_prev_cut()
{
widget_->GoToPrevCut();
widget_->go_to_prev_cut();
}
void TimeBasedPanel::GoToNextCut()
void TimeBasedPanel::go_to_next_cut()
{
widget_->GoToNextCut();
widget_->go_to_next_cut();
}
void TimeBasedPanel::PlayPause()
void TimeBasedPanel::play_pause()
{
emit PlayPauseRequested();
emit play_pause_requested();
}
void TimeBasedPanel::PlayInToOut()
void TimeBasedPanel::play_in_to_out()
{
emit PlayInToOutRequested();
emit play_in_to_out_requested();
}
void TimeBasedPanel::ShuttleLeft()
void TimeBasedPanel::shuttle_left()
{
emit ShuttleLeftRequested();
emit shuttle_left_requested();
}
void TimeBasedPanel::ShuttleStop()
void TimeBasedPanel::shuttle_stop()
{
emit ShuttleStopRequested();
emit shuttle_stop_requested();
}
void TimeBasedPanel::ShuttleRight()
void TimeBasedPanel::shuttle_right()
{
emit ShuttleRightRequested();
emit shuttle_right_requested();
}
void TimeBasedPanel::ConnectViewerNode(ViewerOutput *node)
void TimeBasedPanel::connect_viewer_node(ViewerOutput *node)
{
widget_->ConnectViewerNode(node);
widget_->connect_viewer_node(node);
}
void TimeBasedPanel::SetTimeBasedWidget(TimeBasedWidget *widget)
void TimeBasedPanel::set_time_based_widget(TimeBasedWidget *widget)
{
if (widget_) {
disconnect(widget_, &TimeBasedWidget::ConnectedNodeChanged, this,
&TimeBasedPanel::ConnectedNodeChanged);
disconnect(widget_, &TimeBasedWidget::connected_node_changed, this,
&TimeBasedPanel::connected_node_changed);
}
widget_ = widget;
if (widget_) {
connect(widget_, &TimeBasedWidget::ConnectedNodeChanged, this,
&TimeBasedPanel::ConnectedNodeChanged);
connect(widget_, &TimeBasedWidget::connected_node_changed, this,
&TimeBasedPanel::connected_node_changed);
}
SetWidgetWithPadding(widget_);
set_widget_with_padding(widget_);
}
void TimeBasedPanel::Retranslate()
void TimeBasedPanel::retranslate()
{
if (GetTimeBasedWidget()->GetConnectedNode()) {
SetSubtitle(GetTimeBasedWidget()->GetConnectedNode()->GetLabel());
if (get_time_based_widget()->get_connected_node()) {
set_subtitle(get_time_based_widget()->get_connected_node()->get_label());
} else {
SetSubtitle(tr("(none)"));
set_subtitle(tr("(none)"));
}
}
void TimeBasedPanel::ConnectedNodeChanged(ViewerOutput *old, ViewerOutput *now)
void TimeBasedPanel::connected_node_changed(ViewerOutput *old, ViewerOutput *now)
{
if (old) {
disconnect(old, &ViewerOutput::LabelChanged, this,
&TimeBasedPanel::SetSubtitle);
disconnect(old, &ViewerOutput::label_changed, this,
&TimeBasedPanel::set_subtitle);
}
if (now) {
connect(now, &ViewerOutput::LabelChanged, this,
&TimeBasedPanel::SetSubtitle);
connect(now, &ViewerOutput::label_changed, this,
&TimeBasedPanel::set_subtitle);
if (show_and_raise_on_connect_) {
this->show();
@@ -160,72 +160,72 @@ void TimeBasedPanel::ConnectedNodeChanged(ViewerOutput *old, ViewerOutput *now)
}
// Update strings
Retranslate();
retranslate();
}
void TimeBasedPanel::SetIn()
void TimeBasedPanel::set_in()
{
GetTimeBasedWidget()->SetInAtPlayhead();
get_time_based_widget()->set_in_at_playhead();
}
void TimeBasedPanel::SetOut()
void TimeBasedPanel::set_out()
{
GetTimeBasedWidget()->SetOutAtPlayhead();
get_time_based_widget()->set_out_at_playhead();
}
void TimeBasedPanel::ResetIn()
void TimeBasedPanel::reset_in()
{
GetTimeBasedWidget()->ResetIn();
get_time_based_widget()->reset_in();
}
void TimeBasedPanel::ResetOut()
void TimeBasedPanel::reset_out()
{
GetTimeBasedWidget()->ResetOut();
get_time_based_widget()->reset_out();
}
void TimeBasedPanel::ClearInOut()
void TimeBasedPanel::clear_in_out()
{
GetTimeBasedWidget()->ClearInOutPoints();
get_time_based_widget()->clear_in_out_points();
}
void TimeBasedPanel::SetMarker()
void TimeBasedPanel::set_marker()
{
GetTimeBasedWidget()->SetMarker();
get_time_based_widget()->set_marker();
}
void TimeBasedPanel::ToggleShowAll()
void TimeBasedPanel::toggle_show_all()
{
GetTimeBasedWidget()->ToggleShowAll();
get_time_based_widget()->toggle_show_all();
}
void TimeBasedPanel::GoToIn()
void TimeBasedPanel::go_to_in()
{
GetTimeBasedWidget()->GoToIn();
get_time_based_widget()->go_to_in();
}
void TimeBasedPanel::GoToOut()
void TimeBasedPanel::go_to_out()
{
GetTimeBasedWidget()->GoToOut();
get_time_based_widget()->go_to_out();
}
void TimeBasedPanel::DeleteSelected()
void TimeBasedPanel::delete_selected()
{
GetTimeBasedWidget()->DeleteSelected();
get_time_based_widget()->delete_selected();
}
void TimeBasedPanel::CutSelected()
void TimeBasedPanel::cut_selected()
{
GetTimeBasedWidget()->CopySelected(true);
get_time_based_widget()->copy_selected(true);
}
void TimeBasedPanel::CopySelected()
void TimeBasedPanel::copy_selected()
{
GetTimeBasedWidget()->CopySelected(false);
get_time_based_widget()->copy_selected(false);
}
void TimeBasedPanel::Paste()
void TimeBasedPanel::paste()
{
GetTimeBasedWidget()->Paste();
get_time_based_widget()->paste();
}
}
+46 -46
View File
@@ -19,8 +19,8 @@
***/
#ifndef TIMEBASEDPANEL_H
#define TIMEBASEDPANEL_H
#ifndef OAK_TIMEBASEDPANEL_H
#define OAK_TIMEBASEDPANEL_H
#include "panel/panel.h"
#include "widget/timebased/timebasedwidget.h"
@@ -35,19 +35,19 @@ public:
virtual ~TimeBasedPanel() override;
void ConnectViewerNode(ViewerOutput *node);
void connect_viewer_node(ViewerOutput *node);
void DisconnectViewerNode()
void disconnect_viewer_node()
{
ConnectViewerNode(nullptr);
connect_viewer_node(nullptr);
}
// Get the timebase of this panels widget
const rational &timebase();
const Rational &timebase();
ViewerOutput *GetConnectedViewer() const
ViewerOutput *get_connected_viewer() const
{
return widget_->GetConnectedNode();
return widget_->get_connected_node();
}
TimeRuler *ruler() const
@@ -55,83 +55,83 @@ public:
return widget_->ruler();
}
virtual void ZoomIn() override;
virtual void zoom_in() override;
virtual void ZoomOut() override;
virtual void zoom_out() override;
virtual void GoToStart() override;
virtual void go_to_start() override;
virtual void PrevFrame() override;
virtual void prev_frame() override;
virtual void NextFrame() override;
virtual void next_frame() override;
virtual void GoToEnd() override;
virtual void go_to_end() override;
virtual void GoToPrevCut() override;
virtual void go_to_prev_cut() override;
virtual void GoToNextCut() override;
virtual void go_to_next_cut() override;
virtual void PlayPause() override;
virtual void play_pause() override;
virtual void PlayInToOut() override;
virtual void play_in_to_out() override;
virtual void ShuttleLeft() override;
virtual void shuttle_left() override;
virtual void ShuttleStop() override;
virtual void shuttle_stop() override;
virtual void ShuttleRight() override;
virtual void shuttle_right() override;
virtual void SetIn() override;
virtual void set_in() override;
virtual void SetOut() override;
virtual void set_out() override;
virtual void ResetIn() override;
virtual void reset_in() override;
virtual void ResetOut() override;
virtual void reset_out() override;
virtual void ClearInOut() override;
virtual void clear_in_out() override;
virtual void SetMarker() override;
virtual void set_marker() override;
virtual void ToggleShowAll() override;
virtual void toggle_show_all() override;
virtual void GoToIn() override;
virtual void go_to_in() override;
virtual void GoToOut() override;
virtual void go_to_out() override;
virtual void DeleteSelected() override;
virtual void delete_selected() override;
virtual void CutSelected() override;
virtual void cut_selected() override;
virtual void CopySelected() override;
virtual void copy_selected() override;
virtual void Paste() override;
virtual void paste() override;
TimeBasedWidget *GetTimeBasedWidget() const
TimeBasedWidget *get_time_based_widget() const
{
return widget_;
}
public slots:
void SetTimebase(const rational &timebase);
void set_timebase(const Rational &timebase);
signals:
void PlayPauseRequested();
void play_pause_requested();
void PlayInToOutRequested();
void play_in_to_out_requested();
void ShuttleLeftRequested();
void shuttle_left_requested();
void ShuttleStopRequested();
void shuttle_stop_requested();
void ShuttleRightRequested();
void shuttle_right_requested();
protected:
void SetTimeBasedWidget(TimeBasedWidget *widget);
void set_time_based_widget(TimeBasedWidget *widget);
virtual void Retranslate() override;
virtual void retranslate() override;
void SetShowAndRaiseOnConnect()
void set_show_and_raise_on_connect()
{
show_and_raise_on_connect_ = true;
}
@@ -142,9 +142,9 @@ private:
bool show_and_raise_on_connect_;
private slots:
void ConnectedNodeChanged(ViewerOutput *old, ViewerOutput *now);
void connected_node_changed(ViewerOutput *old, ViewerOutput *now);
};
}
#endif // TIMEBASEDPANEL_H
#endif // OAK_TIMEBASEDPANEL_H
+63 -63
View File
@@ -31,162 +31,162 @@ TimelinePanel::TimelinePanel(const QString &name)
: TimeBasedPanel(name)
{
TimelineWidget *tw = new TimelineWidget(this);
SetTimeBasedWidget(tw);
set_time_based_widget(tw);
Retranslate();
retranslate();
connect(tw, &TimelineWidget::BlockSelectionChanged, this,
&TimelinePanel::BlockSelectionChanged);
connect(tw, &TimelineWidget::RequestCaptureStart, this,
&TimelinePanel::RequestCaptureStart);
connect(tw, &TimelineWidget::RevealViewerInProject, this,
&TimelinePanel::RevealViewerInProject);
connect(tw, &TimelineWidget::RevealViewerInFootageViewer, this,
&TimelinePanel::RevealViewerInFootageViewer);
connect(tw, &TimelineWidget::block_selection_changed, this,
&TimelinePanel::block_selection_changed);
connect(tw, &TimelineWidget::request_capture_start, this,
&TimelinePanel::request_capture_start);
connect(tw, &TimelineWidget::reveal_viewer_in_project, this,
&TimelinePanel::reveal_viewer_in_project);
connect(tw, &TimelineWidget::reveal_viewer_in_footage_viewer, this,
&TimelinePanel::reveal_viewer_in_footage_viewer);
}
void TimelinePanel::SplitAtPlayhead()
void TimelinePanel::split_at_playhead()
{
timeline_widget()->SplitAtPlayhead();
timeline_widget()->split_at_playhead();
}
void TimelinePanel::LoadData(const Info &info)
void TimelinePanel::load_data(const Info &info)
{
timeline_widget()->RestoreSplitterState(
timeline_widget()->restore_splitter_state(
QByteArray::fromBase64(info.at("splitter").toUtf8()));
}
PanelWidget::Info TimelinePanel::SaveData() const
PanelWidget::Info TimelinePanel::save_data() const
{
Info i;
i["splitter"] = timeline_widget()->SaveSplitterState().toBase64();
i["splitter"] = timeline_widget()->save_splitter_state().toBase64();
return i;
}
void TimelinePanel::SelectAll()
void TimelinePanel::select_all()
{
timeline_widget()->SelectAll();
timeline_widget()->select_all();
}
void TimelinePanel::DeselectAll()
void TimelinePanel::deselect_all()
{
timeline_widget()->DeselectAll();
timeline_widget()->deselect_all();
}
void TimelinePanel::RippleToIn()
void TimelinePanel::ripple_to_in()
{
timeline_widget()->RippleToIn();
timeline_widget()->ripple_to_in();
}
void TimelinePanel::RippleToOut()
void TimelinePanel::ripple_to_out()
{
timeline_widget()->RippleToOut();
timeline_widget()->ripple_to_out();
}
void TimelinePanel::EditToIn()
void TimelinePanel::edit_to_in()
{
timeline_widget()->EditToIn();
timeline_widget()->edit_to_in();
}
void TimelinePanel::EditToOut()
void TimelinePanel::edit_to_out()
{
timeline_widget()->EditToOut();
timeline_widget()->edit_to_out();
}
void TimelinePanel::DeleteSelected()
void TimelinePanel::delete_selected()
{
timeline_widget()->DeleteSelected(false);
}
void TimelinePanel::RippleDelete()
void TimelinePanel::ripple_delete()
{
timeline_widget()->DeleteSelected(true);
}
void TimelinePanel::IncreaseTrackHeight()
void TimelinePanel::increase_track_height()
{
timeline_widget()->IncreaseTrackHeight();
timeline_widget()->increase_track_height();
}
void TimelinePanel::DecreaseTrackHeight()
void TimelinePanel::decrease_track_height()
{
timeline_widget()->DecreaseTrackHeight();
timeline_widget()->decrease_track_height();
}
void TimelinePanel::ToggleLinks()
void TimelinePanel::toggle_links()
{
timeline_widget()->ToggleLinksOnSelected();
timeline_widget()->toggle_links_on_selected();
}
void TimelinePanel::PasteInsert()
void TimelinePanel::paste_insert()
{
timeline_widget()->PasteInsert();
timeline_widget()->paste_insert();
}
void TimelinePanel::DeleteInToOut()
void TimelinePanel::delete_in_to_out()
{
timeline_widget()->DeleteInToOut(false);
timeline_widget()->delete_in_to_out(false);
}
void TimelinePanel::RippleDeleteInToOut()
void TimelinePanel::ripple_delete_in_to_out()
{
timeline_widget()->DeleteInToOut(true);
timeline_widget()->delete_in_to_out(true);
}
void TimelinePanel::ToggleSelectedEnabled()
void TimelinePanel::toggle_selected_enabled()
{
timeline_widget()->ToggleSelectedEnabled();
timeline_widget()->toggle_selected_enabled();
}
void TimelinePanel::SetColorLabel(int index)
void TimelinePanel::set_color_label(int index)
{
timeline_widget()->SetColorLabel(index);
timeline_widget()->set_color_label(index);
}
void TimelinePanel::NudgeLeft()
void TimelinePanel::nudge_left()
{
timeline_widget()->NudgeLeft();
timeline_widget()->nudge_left();
}
void TimelinePanel::NudgeRight()
void TimelinePanel::nudge_right()
{
timeline_widget()->NudgeRight();
timeline_widget()->nudge_right();
}
void TimelinePanel::MoveInToPlayhead()
void TimelinePanel::move_in_to_playhead()
{
timeline_widget()->MoveInToPlayhead();
timeline_widget()->move_in_to_playhead();
}
void TimelinePanel::MoveOutToPlayhead()
void TimelinePanel::move_out_to_playhead()
{
timeline_widget()->MoveOutToPlayhead();
timeline_widget()->move_out_to_playhead();
}
void TimelinePanel::RenameSelected()
void TimelinePanel::rename_selected()
{
timeline_widget()->RenameSelectedBlocks();
timeline_widget()->rename_selected_blocks();
}
void TimelinePanel::InsertFootageAtPlayhead(
void TimelinePanel::insert_footage_at_playhead(
const QVector<ViewerOutput *> &footage)
{
timeline_widget()->InsertFootageAtPlayhead(footage);
timeline_widget()->insert_footage_at_playhead(footage);
}
void TimelinePanel::OverwriteFootageAtPlayhead(
void TimelinePanel::overwrite_footage_at_playhead(
const QVector<ViewerOutput *> &footage)
{
timeline_widget()->OverwriteFootageAtPlayhead(footage);
timeline_widget()->overwrite_footage_at_playhead(footage);
}
void TimelinePanel::Retranslate()
void TimelinePanel::retranslate()
{
TimeBasedPanel::Retranslate();
TimeBasedPanel::retranslate();
SetTitle(tr("Timeline"));
set_title(tr("Timeline"));
}
}
+45 -45
View File
@@ -19,8 +19,8 @@
***/
#ifndef TIMELINE_PANEL_H
#define TIMELINE_PANEL_H
#ifndef OAK_TIMELINE_PANEL_H
#define OAK_TIMELINE_PANEL_H
#include "panel/timebased/timebased.h"
#include "widget/timelinewidget/timelinewidget.h"
@@ -38,98 +38,98 @@ public:
inline TimelineWidget *timeline_widget() const
{
return static_cast<TimelineWidget *>(GetTimeBasedWidget());
return static_cast<TimelineWidget *>(get_time_based_widget());
}
void SplitAtPlayhead();
void split_at_playhead();
virtual void LoadData(const Info &info) override;
virtual Info SaveData() const override;
virtual void load_data(const Info &info) override;
virtual Info save_data() const override;
virtual void SelectAll() override;
virtual void select_all() override;
virtual void DeselectAll() override;
virtual void deselect_all() override;
virtual void RippleToIn() override;
virtual void ripple_to_in() override;
virtual void RippleToOut() override;
virtual void ripple_to_out() override;
virtual void EditToIn() override;
virtual void edit_to_in() override;
virtual void EditToOut() override;
virtual void edit_to_out() override;
virtual void DeleteSelected() override;
virtual void delete_selected() override;
virtual void RippleDelete() override;
virtual void ripple_delete() override;
virtual void IncreaseTrackHeight() override;
virtual void increase_track_height() override;
virtual void DecreaseTrackHeight() override;
virtual void decrease_track_height() override;
virtual void ToggleLinks() override;
virtual void toggle_links() override;
virtual void PasteInsert() override;
virtual void paste_insert() override;
virtual void DeleteInToOut() override;
virtual void delete_in_to_out() override;
virtual void RippleDeleteInToOut() override;
virtual void ripple_delete_in_to_out() override;
virtual void ToggleSelectedEnabled() override;
virtual void toggle_selected_enabled() override;
virtual void SetColorLabel(int index) override;
virtual void set_color_label(int index) override;
virtual void NudgeLeft() override;
virtual void nudge_left() override;
virtual void NudgeRight() override;
virtual void nudge_right() override;
virtual void MoveInToPlayhead() override;
virtual void move_in_to_playhead() override;
virtual void MoveOutToPlayhead() override;
virtual void move_out_to_playhead() override;
virtual void RenameSelected() override;
virtual void rename_selected() override;
void AddDefaultTransitionsToSelected()
void add_default_transitions_to_selected()
{
timeline_widget()->AddDefaultTransitionsToSelected();
timeline_widget()->add_default_transitions_to_selected();
}
void ShowSpeedDurationDialogForSelectedClips()
void show_speed_duration_dialog_for_selected_clips()
{
timeline_widget()->ShowSpeedDurationDialogForSelectedClips();
timeline_widget()->show_speed_duration_dialog_for_selected_clips();
}
void NestSelectedClips()
void nest_selected_clips()
{
timeline_widget()->NestSelectedClips();
timeline_widget()->nest_selected_clips();
}
void InsertFootageAtPlayhead(const QVector<ViewerOutput *> &footage);
void insert_footage_at_playhead(const QVector<ViewerOutput *> &footage);
void OverwriteFootageAtPlayhead(const QVector<ViewerOutput *> &footage);
void overwrite_footage_at_playhead(const QVector<ViewerOutput *> &footage);
const QVector<Block *> &GetSelectedBlocks() const
const QVector<Block *> &get_selected_blocks() const
{
return timeline_widget()->GetSelectedBlocks();
return timeline_widget()->get_selected_blocks();
}
Sequence *GetSequence() const
Sequence *get_sequence() const
{
return dynamic_cast<Sequence *>(GetConnectedViewer());
return dynamic_cast<Sequence *>(get_connected_viewer());
}
protected:
virtual void Retranslate() override;
virtual void retranslate() override;
signals:
void BlockSelectionChanged(const QVector<Block *> &selected_blocks);
void block_selection_changed(const QVector<Block *> &selected_blocks);
void RequestCaptureStart(const TimeRange &time,
void request_capture_start(const TimeRange &time,
const Track::Reference &track);
void RevealViewerInProject(ViewerOutput *r);
void RevealViewerInFootageViewer(ViewerOutput *r, const TimeRange &range);
void reveal_viewer_in_project(ViewerOutput *r);
void reveal_viewer_in_footage_viewer(ViewerOutput *r, const TimeRange &range);
};
}
#endif // TIMELINE_PANEL_H
#endif // OAK_TIMELINE_PANEL_H
+12 -12
View File
@@ -32,26 +32,26 @@ ToolPanel::ToolPanel()
{
Toolbar *t = new Toolbar(this);
t->SetTool(Core::instance()->tool());
t->SetSnapping(Core::instance()->snapping());
t->set_tool(Core::instance()->tool());
t->set_snapping(Core::instance()->snapping());
SetWidgetWithPadding(t);
set_widget_with_padding(t);
connect(t, &Toolbar::ToolChanged, Core::instance(), &Core::SetTool);
connect(Core::instance(), &Core::ToolChanged, t, &Toolbar::SetTool);
connect(t, &Toolbar::tool_changed, Core::instance(), &Core::set_tool);
connect(Core::instance(), &Core::tool_changed, t, &Toolbar::set_tool);
connect(t, &Toolbar::SnappingChanged, Core::instance(), &Core::SetSnapping);
connect(Core::instance(), &Core::SnappingChanged, t, &Toolbar::SetSnapping);
connect(t, &Toolbar::snapping_changed, Core::instance(), &Core::set_snapping);
connect(Core::instance(), &Core::snapping_changed, t, &Toolbar::set_snapping);
connect(t, &Toolbar::SelectedTransitionChanged, Core::instance(),
&Core::SetSelectedTransitionObject);
connect(t, &Toolbar::selected_transition_changed, Core::instance(),
&Core::set_selected_transition_object);
Retranslate();
retranslate();
}
void ToolPanel::Retranslate()
void ToolPanel::retranslate()
{
SetTitle(tr("Tools"));
set_title(tr("Tools"));
}
}
+4 -4
View File
@@ -19,8 +19,8 @@
***/
#ifndef TOOL_PANEL_H
#define TOOL_PANEL_H
#ifndef OAK_TOOL_PANEL_H
#define OAK_TOOL_PANEL_H
#include "panel/panel.h"
@@ -36,9 +36,9 @@ public:
ToolPanel();
private:
virtual void Retranslate() override;
virtual void retranslate() override;
};
}
#endif // TOOL_PANEL_H
#endif // OAK_TOOL_PANEL_H
+5 -5
View File
@@ -29,17 +29,17 @@ ViewerPanel::ViewerPanel(const QString &object_name)
{
// Set ViewerWidget as the central widget
ViewerWidget *vw = new ViewerWidget(this);
SetViewerWidget(vw);
set_viewer_widget(vw);
// Set strings
Retranslate();
retranslate();
}
void ViewerPanel::Retranslate()
void ViewerPanel::retranslate()
{
ViewerPanelBase::Retranslate();
ViewerPanelBase::retranslate();
SetTitle(tr("Viewer"));
set_title(tr("Viewer"));
}
}
+4 -4
View File
@@ -19,8 +19,8 @@
***/
#ifndef VIEWER_PANEL_H
#define VIEWER_PANEL_H
#ifndef OAK_VIEWER_PANEL_H
#define OAK_VIEWER_PANEL_H
#include <QOpenGLFunctions>
@@ -38,9 +38,9 @@ public:
ViewerPanel(const QString &object_name);
protected:
virtual void Retranslate() override;
virtual void retranslate() override;
};
}
#endif // VIEWER_PANEL_H
#endif // OAK_VIEWER_PANEL_H
+54 -54
View File
@@ -31,101 +31,101 @@ namespace olive
ViewerPanelBase::ViewerPanelBase(const QString &object_name)
: super(object_name)
{
connect(PanelManager::instance(), &PanelManager::FocusedPanelChanged, this,
&ViewerPanelBase::FocusedPanelChanged);
connect(PanelManager::instance(), &PanelManager::focused_panel_changed, this,
&ViewerPanelBase::focused_panel_changed);
}
void ViewerPanelBase::PlayPause()
void ViewerPanelBase::play_pause()
{
GetViewerWidget()->TogglePlayPause();
get_viewer_widget()->toggle_play_pause();
}
void ViewerPanelBase::PlayInToOut()
void ViewerPanelBase::play_in_to_out()
{
GetViewerWidget()->Play(true);
get_viewer_widget()->play(true);
}
void ViewerPanelBase::ShuttleLeft()
void ViewerPanelBase::shuttle_left()
{
GetViewerWidget()->ShuttleLeft();
get_viewer_widget()->shuttle_left();
}
void ViewerPanelBase::ShuttleStop()
void ViewerPanelBase::shuttle_stop()
{
GetViewerWidget()->ShuttleStop();
get_viewer_widget()->shuttle_stop();
}
void ViewerPanelBase::ShuttleRight()
void ViewerPanelBase::shuttle_right()
{
GetViewerWidget()->ShuttleRight();
get_viewer_widget()->shuttle_right();
}
void ViewerPanelBase::ConnectTimeBasedPanel(TimeBasedPanel *panel)
void ViewerPanelBase::connect_time_based_panel(TimeBasedPanel *panel)
{
connect(panel, &TimeBasedPanel::PlayPauseRequested, this,
&ViewerPanelBase::PlayPause);
connect(panel, &TimeBasedPanel::PlayInToOutRequested, this,
&ViewerPanelBase::PlayInToOut);
connect(panel, &TimeBasedPanel::ShuttleLeftRequested, this,
&ViewerPanelBase::ShuttleLeft);
connect(panel, &TimeBasedPanel::ShuttleStopRequested, this,
&ViewerPanelBase::ShuttleStop);
connect(panel, &TimeBasedPanel::ShuttleRightRequested, this,
&ViewerPanelBase::ShuttleRight);
connect(panel, &TimeBasedPanel::play_pause_requested, this,
&ViewerPanelBase::play_pause);
connect(panel, &TimeBasedPanel::play_in_to_out_requested, this,
&ViewerPanelBase::play_in_to_out);
connect(panel, &TimeBasedPanel::shuttle_left_requested, this,
&ViewerPanelBase::shuttle_left);
connect(panel, &TimeBasedPanel::shuttle_stop_requested, this,
&ViewerPanelBase::shuttle_stop);
connect(panel, &TimeBasedPanel::shuttle_right_requested, this,
&ViewerPanelBase::shuttle_right);
}
void ViewerPanelBase::DisconnectTimeBasedPanel(TimeBasedPanel *panel)
void ViewerPanelBase::disconnect_time_based_panel(TimeBasedPanel *panel)
{
disconnect(panel, &TimeBasedPanel::PlayPauseRequested, this,
&ViewerPanelBase::PlayPause);
disconnect(panel, &TimeBasedPanel::PlayInToOutRequested, this,
&ViewerPanelBase::PlayInToOut);
disconnect(panel, &TimeBasedPanel::ShuttleLeftRequested, this,
&ViewerPanelBase::ShuttleLeft);
disconnect(panel, &TimeBasedPanel::ShuttleStopRequested, this,
&ViewerPanelBase::ShuttleStop);
disconnect(panel, &TimeBasedPanel::ShuttleRightRequested, this,
&ViewerPanelBase::ShuttleRight);
disconnect(panel, &TimeBasedPanel::play_pause_requested, this,
&ViewerPanelBase::play_pause);
disconnect(panel, &TimeBasedPanel::play_in_to_out_requested, this,
&ViewerPanelBase::play_in_to_out);
disconnect(panel, &TimeBasedPanel::shuttle_left_requested, this,
&ViewerPanelBase::shuttle_left);
disconnect(panel, &TimeBasedPanel::shuttle_stop_requested, this,
&ViewerPanelBase::shuttle_stop);
disconnect(panel, &TimeBasedPanel::shuttle_right_requested, this,
&ViewerPanelBase::shuttle_right);
}
void ViewerPanelBase::SetFullScreen(QScreen *screen)
void ViewerPanelBase::set_full_screen(QScreen *screen)
{
GetViewerWidget()->SetFullScreen(screen);
get_viewer_widget()->set_full_screen(screen);
}
void ViewerPanelBase::SetGizmos(Node *node)
void ViewerPanelBase::set_gizmos(Node *node)
{
GetViewerWidget()->SetGizmos(node);
get_viewer_widget()->set_gizmos(node);
}
void ViewerPanelBase::CacheEntireSequence()
void ViewerPanelBase::cache_entire_sequence()
{
GetViewerWidget()->CacheEntireSequence();
get_viewer_widget()->cache_entire_sequence();
}
void ViewerPanelBase::CacheSequenceInOut()
void ViewerPanelBase::cache_sequence_in_out()
{
GetViewerWidget()->CacheSequenceInOut();
get_viewer_widget()->cache_sequence_in_out();
}
void ViewerPanelBase::SetViewerWidget(ViewerWidget *vw)
void ViewerPanelBase::set_viewer_widget(ViewerWidget *vw)
{
connect(vw, &ViewerWidget::TextureChanged, this,
&ViewerPanelBase::TextureChanged);
connect(vw, &ViewerWidget::ColorProcessorChanged, this,
&ViewerPanelBase::ColorProcessorChanged);
connect(vw, &ViewerWidget::ColorManagerChanged, this,
&ViewerPanelBase::ColorManagerChanged);
connect(vw, &ViewerWidget::texture_changed, this,
&ViewerPanelBase::texture_changed);
connect(vw, &ViewerWidget::color_processor_changed, this,
&ViewerPanelBase::color_processor_changed);
connect(vw, &ViewerWidget::color_manager_changed, this,
&ViewerPanelBase::color_manager_changed);
SetTimeBasedWidget(vw);
set_time_based_widget(vw);
}
void ViewerPanelBase::FocusedPanelChanged(PanelWidget *panel)
void ViewerPanelBase::focused_panel_changed(PanelWidget *panel)
{
if (dynamic_cast<ViewerPanelBase *>(panel)) {
auto vw = GetViewerWidget();
if (vw->IsPlaying() && panel != this) {
vw->Pause();
auto vw = get_viewer_widget();
if (vw->is_playing() && panel != this) {
vw->pause();
}
}
}
+35 -35
View File
@@ -19,8 +19,8 @@
***/
#ifndef VIEWERPANELBASE_H
#define VIEWERPANELBASE_H
#ifndef OAK_VIEWERPANELBASE_H
#define OAK_VIEWERPANELBASE_H
#include "panel/pixelsampler/pixelsamplerpanel.h"
#include "panel/timebased/timebased.h"
@@ -34,95 +34,95 @@ class ViewerPanelBase : public TimeBasedPanel {
public:
ViewerPanelBase(const QString &object_name);
ViewerWidget *GetViewerWidget() const
ViewerWidget *get_viewer_widget() const
{
return static_cast<ViewerWidget *>(GetTimeBasedWidget());
return static_cast<ViewerWidget *>(get_time_based_widget());
}
virtual void PlayPause() override;
virtual void play_pause() override;
virtual void PlayInToOut() override;
virtual void play_in_to_out() override;
virtual void ShuttleLeft() override;
virtual void shuttle_left() override;
virtual void ShuttleStop() override;
virtual void shuttle_stop() override;
virtual void ShuttleRight() override;
virtual void shuttle_right() override;
void ConnectTimeBasedPanel(TimeBasedPanel *panel);
void connect_time_based_panel(TimeBasedPanel *panel);
void DisconnectTimeBasedPanel(TimeBasedPanel *panel);
void disconnect_time_based_panel(TimeBasedPanel *panel);
/**
* @brief Wrapper for ViewerWidget::SetFullScreen()
*/
void SetFullScreen(QScreen *screen = nullptr);
void set_full_screen(QScreen *screen = nullptr);
ColorManager *GetColorManager()
ColorManager *get_color_manager()
{
return GetViewerWidget()->color_manager();
return get_viewer_widget()->color_manager();
}
void UpdateTextureFromNode()
void update_texture_from_node()
{
GetViewerWidget()->UpdateTextureFromNode();
get_viewer_widget()->update_texture_from_node();
}
void AddPlaybackDevice(ViewerDisplayWidget *vw)
void add_playback_device(ViewerDisplayWidget *vw)
{
GetViewerWidget()->AddPlaybackDevice(vw);
get_viewer_widget()->add_playback_device(vw);
}
void SetTimelineSelectedBlocks(const QVector<Block *> &b)
void set_timeline_selected_blocks(const QVector<Block *> &b)
{
GetViewerWidget()->SetTimelineSelectedBlocks(b);
get_viewer_widget()->set_timeline_selected_blocks(b);
}
void SetNodeViewSelections(const QVector<Node *> &n)
void set_node_view_selections(const QVector<Node *> &n)
{
GetViewerWidget()->SetNodeViewSelections(n);
get_viewer_widget()->set_node_view_selections(n);
}
void ConnectMulticamWidget(MulticamWidget *p)
void connect_multicam_widget(MulticamWidget *p)
{
GetViewerWidget()->ConnectMulticamWidget(p);
get_viewer_widget()->connect_multicam_widget(p);
}
public slots:
void SetGizmos(Node *node);
void set_gizmos(Node *node);
void CacheEntireSequence();
void cache_entire_sequence();
void CacheSequenceInOut();
void cache_sequence_in_out();
void RequestStartEditingText()
void request_start_editing_text()
{
GetViewerWidget()->RequestStartEditingText();
get_viewer_widget()->request_start_editing_text();
}
signals:
/**
* @brief Signal emitted when a new frame is loaded
*/
void TextureChanged(TexturePtr t);
void texture_changed(TexturePtr t);
/**
* @brief Wrapper for ViewerGLWidget::ColorProcessorChanged()
*/
void ColorProcessorChanged(ColorProcessorPtr processor);
void color_processor_changed(ColorProcessorPtr processor);
/**
* @brief Wrapper for ViewerGLWidget::ColorManagerChanged()
*/
void ColorManagerChanged(ColorManager *color_manager);
void color_manager_changed(ColorManager *color_manager);
protected:
void SetViewerWidget(ViewerWidget *vw);
void set_viewer_widget(ViewerWidget *vw);
private slots:
void FocusedPanelChanged(PanelWidget *panel);
void focused_panel_changed(PanelWidget *panel);
};
}
#endif // VIEWERPANELBASE_H
#endif // OAK_VIEWERPANELBASE_H