Move the zoom box from the main toolbar to the video box

Originally committed to SVN as r5467.
This commit is contained in:
Thomas Goyne 2011-07-15 04:06:16 +00:00
parent b93bb888e3
commit f4d44f7c18
5 changed files with 13 additions and 17 deletions

View File

@ -75,7 +75,7 @@ DialogDetachedVideo::DialogDetachedVideo(FrameMain *parent, agi::Context *contex
wxPanel *panel = new wxPanel(this,-1,wxDefaultPosition,wxDefaultSize,wxTAB_TRAVERSAL | wxCLIP_CHILDREN); wxPanel *panel = new wxPanel(this,-1,wxDefaultPosition,wxDefaultSize,wxTAB_TRAVERSAL | wxCLIP_CHILDREN);
// Video area; // Video area;
videoBox = new VideoBox(panel, true, NULL, context); videoBox = new VideoBox(panel, true, context);
videoBox->videoDisplay->SetClientSize(initialDisplaySize); videoBox->videoDisplay->SetClientSize(initialDisplaySize);
// Set sizer // Set sizer

View File

@ -254,17 +254,6 @@ void FrameMain::InitToolbar () {
toolbar::toolbar->GetToolbar("main", Toolbar); toolbar::toolbar->GetToolbar("main", Toolbar);
wxArrayString choices;
for (int i=1;i<=24;i++) {
wxString toAdd = wxString::Format("%i",int(i*12.5));
if (i%2) toAdd += ".5";
toAdd += "%";
choices.Add(toAdd);
}
ZoomBox = new wxComboBox(Toolbar,ID_TOOLBAR_ZOOM_DROPDOWN,"75%",wxDefaultPosition,wxDefaultSize,choices,wxCB_DROPDOWN);
Toolbar->AddControl(ZoomBox);
Toolbar->AddSeparator();
Toolbar->Realize(); Toolbar->Realize();
} }
@ -286,7 +275,7 @@ void FrameMain::InitContents() {
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"); StartupLog("Create video box");
context->videoBox = videoBox = new VideoBox(Panel, false, ZoomBox, context.get()); context->videoBox = videoBox = new VideoBox(Panel, false, context.get());
wxBoxSizer *videoSizer = new wxBoxSizer(wxVERTICAL); wxBoxSizer *videoSizer = new wxBoxSizer(wxVERTICAL);
videoSizer->Add(videoBox , 0, wxEXPAND); videoSizer->Add(videoBox , 0, wxEXPAND);
videoSizer->AddStretchSpacer(1); videoSizer->AddStretchSpacer(1);
@ -338,7 +327,6 @@ static void validate_toolbar(wxToolBar *toolbar, const char *command, const agi:
void FrameMain::UpdateToolbar() { void FrameMain::UpdateToolbar() {
wxToolBar* toolbar = GetToolBar(); wxToolBar* toolbar = GetToolBar();
const agi::Context *c = context.get(); const agi::Context *c = context.get();
ZoomBox->Enable(context->videoController->IsLoaded() && !context->detachedVideo);
validate_toolbar(toolbar, "video/jump", c); validate_toolbar(toolbar, "video/jump", c);
validate_toolbar(toolbar, "video/zoom/in", c); validate_toolbar(toolbar, "video/zoom/in", c);

View File

@ -108,7 +108,6 @@ private:
wxPanel *Panel; wxPanel *Panel;
wxToolBar *Toolbar; ///< The main toolbar wxToolBar *Toolbar; ///< The main toolbar
wxComboBox *ZoomBox; ///< The video zoom dropdown in the main toolbar
std::vector<Automation4::FeatureMacro*> activeMacroItems; std::vector<Automation4::FeatureMacro*> activeMacroItems;
int AddMacroMenuItems(wxMenu *menu, const std::vector<Automation4::FeatureMacro*> &macros); int AddMacroMenuItems(wxMenu *menu, const std::vector<Automation4::FeatureMacro*> &macros);

View File

@ -78,7 +78,7 @@ static void add_option(wxWindow *parent, wxSizer *sizer, const char *command, co
sizer->Add(btn, 0, wxTOP | wxLEFT | wxBOTTOM | wxALIGN_CENTER, 2); sizer->Add(btn, 0, wxTOP | wxLEFT | wxBOTTOM | wxALIGN_CENTER, 2);
} }
VideoBox::VideoBox(wxWindow *parent, bool isDetached, wxComboBox *zoomBox, agi::Context *context) VideoBox::VideoBox(wxWindow *parent, bool isDetached, agi::Context *context)
: wxPanel (parent,-1) : wxPanel (parent,-1)
, context(context) , context(context)
{ {
@ -104,6 +104,13 @@ VideoBox::VideoBox(wxWindow *parent, bool isDetached, wxComboBox *zoomBox, agi::
VideoSubsPos = new wxTextCtrl(this,-1,"",wxDefaultPosition,wxSize(110,20),wxTE_READONLY); VideoSubsPos = new wxTextCtrl(this,-1,"",wxDefaultPosition,wxSize(110,20),wxTE_READONLY);
VideoSubsPos->SetToolTip(_("Time of this frame relative to start and end of current subs.")); VideoSubsPos->SetToolTip(_("Time of this frame relative to start and end of current subs."));
// Zoom box
wxArrayString choices;
for (int i = 1 ; i <= 24; ++i) {
choices.Add(wxString::Format("%g%%", i * 12.5));
}
zoomBox = new wxComboBox(this, -1, "75%", wxDefaultPosition, wxDefaultSize, choices, wxCB_DROPDOWN);
// Typesetting buttons // Typesetting buttons
visualToolBar = new wxToolBar(this,-1,wxDefaultPosition,wxDefaultSize,wxTB_VERTICAL|wxTB_FLAT|wxTB_NODIVIDER); visualToolBar = new wxToolBar(this,-1,wxDefaultPosition,wxDefaultSize,wxTB_VERTICAL|wxTB_FLAT|wxTB_NODIVIDER);
visualToolBar->AddTool(Video_Mode_Standard,_("Standard"),GETIMAGE(visual_standard_24),_("Standard mode, double click sets position."),wxITEM_RADIO); visualToolBar->AddTool(Video_Mode_Standard,_("Standard"),GETIMAGE(visual_standard_24),_("Standard mode, double click sets position."),wxITEM_RADIO);
@ -140,6 +147,7 @@ VideoBox::VideoBox(wxWindow *parent, bool isDetached, wxComboBox *zoomBox, agi::
videoSliderSizer->Add(videoSlider,1,wxEXPAND|wxLEFT,0); videoSliderSizer->Add(videoSlider,1,wxEXPAND|wxLEFT,0);
videoBottomSizer->Add(VideoPosition,1,wxLEFT|wxALIGN_CENTER,5); videoBottomSizer->Add(VideoPosition,1,wxLEFT|wxALIGN_CENTER,5);
videoBottomSizer->Add(VideoSubsPos,1,wxALIGN_CENTER,0); videoBottomSizer->Add(VideoSubsPos,1,wxALIGN_CENTER,0);
videoBottomSizer->Add(zoomBox, 0, wxALIGN_CENTER, 5);
// If we're detached we do want to fill out as much space we can. // If we're detached we do want to fill out as much space we can.
// But if we're in the main window, the subs grid needs space more than us. // But if we're in the main window, the subs grid needs space more than us.

View File

@ -62,6 +62,7 @@ class VideoBox : public wxPanel {
agi::Context *context; ///< Project context agi::Context *context; ///< Project context
wxTextCtrl *VideoPosition; ///< Current frame/time wxTextCtrl *VideoPosition; ///< Current frame/time
wxTextCtrl *VideoSubsPos; ///< Time relative to the active subtitle line wxTextCtrl *VideoSubsPos; ///< Time relative to the active subtitle line
wxComboBox *zoomBox;
/// Handle a click on the play/pause buttons /// Handle a click on the play/pause buttons
void OnButton(wxCommandEvent &evt); void OnButton(wxCommandEvent &evt);
@ -82,7 +83,7 @@ public:
/// DOCME /// DOCME
VideoSlider *videoSlider; VideoSlider *videoSlider;
VideoBox(wxWindow *parent, bool isDetached, wxComboBox *zoomBox, agi::Context *context); VideoBox(wxWindow *parent, bool isDetached, agi::Context *context);
}; };
// IDs // IDs