forked from mia/Aegisub
Update the video box time boxes when the active line changes
Originally committed to SVN as r5809.
This commit is contained in:
parent
4d2a2c618e
commit
29f0786c81
3 changed files with 17 additions and 4 deletions
|
@ -243,14 +243,14 @@ void FrameMain::InitContents() {
|
||||||
StartupLog("Create background panel");
|
StartupLog("Create background panel");
|
||||||
Panel = new wxPanel(this,-1,wxDefaultPosition,wxDefaultSize,wxTAB_TRAVERSAL | wxCLIP_CHILDREN);
|
Panel = new wxPanel(this,-1,wxDefaultPosition,wxDefaultSize,wxTAB_TRAVERSAL | wxCLIP_CHILDREN);
|
||||||
|
|
||||||
StartupLog("Create video box");
|
|
||||||
context->videoBox = videoBox = new VideoBox(Panel, false, context.get());
|
|
||||||
|
|
||||||
StartupLog("Create subtitles grid");
|
StartupLog("Create subtitles grid");
|
||||||
context->subsGrid = SubsGrid = new SubtitlesGrid(Panel,context.get(),wxSize(600,100),wxWANTS_CHARS | wxSUNKEN_BORDER,"Subs grid");
|
context->subsGrid = SubsGrid = new SubtitlesGrid(Panel,context.get(),wxSize(600,100),wxWANTS_CHARS | wxSUNKEN_BORDER,"Subs grid");
|
||||||
context->selectionController = context->subsGrid;
|
context->selectionController = context->subsGrid;
|
||||||
Search.context = context.get();
|
Search.context = context.get();
|
||||||
|
|
||||||
|
StartupLog("Create video box");
|
||||||
|
context->videoBox = videoBox = new VideoBox(Panel, false, context.get());
|
||||||
|
|
||||||
StartupLog("Create audio box");
|
StartupLog("Create audio box");
|
||||||
context->audioBox = audioBox = new AudioBox(Panel, context.get());
|
context->audioBox = audioBox = new AudioBox(Panel, context.get());
|
||||||
|
|
||||||
|
|
|
@ -161,6 +161,12 @@ VideoBox::VideoBox(wxWindow *parent, bool isDetached, agi::Context *context)
|
||||||
slots.push_back(context->videoController->AddTimecodesListener(&VideoBox::UpdateTimeBoxes, this));
|
slots.push_back(context->videoController->AddTimecodesListener(&VideoBox::UpdateTimeBoxes, this));
|
||||||
slots.push_back(context->videoController->AddVideoOpenListener(&VideoBox::UpdateTimeBoxes, this));
|
slots.push_back(context->videoController->AddVideoOpenListener(&VideoBox::UpdateTimeBoxes, this));
|
||||||
slots.push_back(context->ass->AddCommitListener(&VideoBox::UpdateTimeBoxes, this));
|
slots.push_back(context->ass->AddCommitListener(&VideoBox::UpdateTimeBoxes, this));
|
||||||
|
|
||||||
|
context->selectionController->AddSelectionListener(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
VideoBox::~VideoBox() {
|
||||||
|
context->selectionController->RemoveSelectionListener(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
void VideoBox::OnButton(wxCommandEvent &evt) {
|
void VideoBox::OnButton(wxCommandEvent &evt) {
|
||||||
|
|
|
@ -46,7 +46,10 @@
|
||||||
|
|
||||||
#include <libaegisub/signal.h>
|
#include <libaegisub/signal.h>
|
||||||
|
|
||||||
|
#include "selection_controller.h"
|
||||||
|
|
||||||
namespace agi { struct Context; }
|
namespace agi { struct Context; }
|
||||||
|
class AssDialogue;
|
||||||
class ToggleBitmap;
|
class ToggleBitmap;
|
||||||
class VideoDisplay;
|
class VideoDisplay;
|
||||||
class VideoSlider;
|
class VideoSlider;
|
||||||
|
@ -57,7 +60,7 @@ class wxComboBox;
|
||||||
/// @brief DOCME
|
/// @brief DOCME
|
||||||
///
|
///
|
||||||
/// DOCME
|
/// DOCME
|
||||||
class VideoBox : public wxPanel {
|
class VideoBox : public wxPanel, private SelectionListener<AssDialogue> {
|
||||||
std::list<agi::signal::Connection> slots;
|
std::list<agi::signal::Connection> slots;
|
||||||
agi::Context *context; ///< Project context
|
agi::Context *context; ///< Project context
|
||||||
wxTextCtrl *VideoPosition; ///< Current frame/time
|
wxTextCtrl *VideoPosition; ///< Current frame/time
|
||||||
|
@ -69,6 +72,9 @@ class VideoBox : public wxPanel {
|
||||||
|
|
||||||
/// Update VideoPosition and VideoSubsPos
|
/// Update VideoPosition and VideoSubsPos
|
||||||
void UpdateTimeBoxes();
|
void UpdateTimeBoxes();
|
||||||
|
|
||||||
|
void OnSelectedSetChanged(Selection const&, Selection const&) { }
|
||||||
|
void OnActiveLineChanged(AssDialogue*) { UpdateTimeBoxes(); }
|
||||||
public:
|
public:
|
||||||
|
|
||||||
/// DOCME
|
/// DOCME
|
||||||
|
@ -84,6 +90,7 @@ public:
|
||||||
VideoSlider *videoSlider;
|
VideoSlider *videoSlider;
|
||||||
|
|
||||||
VideoBox(wxWindow *parent, bool isDetached, agi::Context *context);
|
VideoBox(wxWindow *parent, bool isDetached, agi::Context *context);
|
||||||
|
~VideoBox();
|
||||||
};
|
};
|
||||||
|
|
||||||
// IDs
|
// IDs
|
||||||
|
|
Loading…
Reference in a new issue