Convert the Subtitles and Audio pages.
Originally committed to SVN as r4691.
This commit is contained in:
parent
dff3cb78f6
commit
1613a5961f
2 changed files with 106 additions and 48 deletions
|
@ -148,6 +148,10 @@ class OptionPage: public wxPanel {
|
|||
public:
|
||||
wxSizer *sizer;
|
||||
|
||||
void CellSkip(wxFlexGridSizer *&flex) {
|
||||
flex->Add(new wxStaticText(this, wxID_ANY , wxEmptyString), 0, wxALL, 5);
|
||||
}
|
||||
|
||||
OptionPage(wxTreebook *book, wxString name): wxPanel(book, -1) {
|
||||
book->AddPage(this, name, true);
|
||||
sizer = new wxBoxSizer(wxVERTICAL);
|
||||
|
@ -197,6 +201,32 @@ public:
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
void OptionChoice(wxFlexGridSizer *&flex, const wxString &name, const wxArrayString &choices, const char *opt_name) {
|
||||
agi::OptionValue *opt = OPT_GET(opt_name);
|
||||
|
||||
int type = opt->GetType();
|
||||
wxString selection;
|
||||
|
||||
switch (type) {
|
||||
case agi::OptionValue::Type_Int: {
|
||||
selection = choices.Item(opt->GetInt());
|
||||
break;
|
||||
}
|
||||
case agi::OptionValue::Type_String: {
|
||||
selection.assign(opt->GetString());
|
||||
break;
|
||||
}
|
||||
default:
|
||||
throw PreferenceNotSupported("Unsupported type");
|
||||
}
|
||||
|
||||
flex->Add(new wxStaticText(this, wxID_ANY, name), 1, wxALIGN_CENTRE_VERTICAL);
|
||||
wxComboBox *cb = new wxComboBox(this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, choices, wxCB_READONLY | wxCB_DROPDOWN);
|
||||
cb->SetValue(selection);
|
||||
flex->Add(cb, 1, wxEXPAND, 0);
|
||||
}
|
||||
|
||||
wxFlexGridSizer* PageSizer(wxString name) {
|
||||
wxSizer *tmp_sizer = new wxStaticBoxSizer(wxHORIZONTAL, this, name);
|
||||
sizer->Add(tmp_sizer, 0,wxEXPAND, 5);
|
||||
|
@ -207,6 +237,9 @@ public:
|
|||
return flex;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
@ -275,58 +308,58 @@ public:
|
|||
};
|
||||
|
||||
|
||||
void Preferences::Subtitles(wxTreebook *book) {
|
||||
PAGE_CREATE(_("Subtitles"))
|
||||
class Subtitles: public OptionPage {
|
||||
public:
|
||||
Subtitles(wxTreebook *book): OptionPage(book, _("Subtitles")) {
|
||||
|
||||
PAGE_SIZER(_("Options"), general)
|
||||
wxFlexGridSizer *general = PageSizer(_("Options"));
|
||||
OptionAdd(general, _("Enable call tips"), "App/Call Tips");
|
||||
OptionAdd(general, _("Enable syntax highlighting"), "Subtitle/Highlight/Syntax");
|
||||
OptionAdd(general, _("Link commiting of times"), "Subtitle/Edit Box/Link Time Boxes Commit");
|
||||
OptionAdd(general, _("Overwrite-Insertion in time boxes"), "Subtitle/Time Edit/Insert Mode");
|
||||
|
||||
OptionAdd(panel, general_flex, _("Enable call tips"), "App/Call Tips");
|
||||
OptionAdd(panel, general_flex, _("Enable syntax highlighting"), "Subtitle/Highlight/Syntax");
|
||||
OptionAdd(panel, general_flex, _("Link commiting of times"), "Subtitle/Edit Box/Link Time Boxes Commit");
|
||||
OptionAdd(panel, general_flex, _("Overwrite-Insertion in time boxes"), "Subtitle/Time Edit/Insert Mode");
|
||||
wxFlexGridSizer *grid = PageSizer(_("Grid"));
|
||||
OptionAdd(grid, _("Allow grid to take focus"), "Subtitle/Grid/Focus Allow");
|
||||
OptionAdd(grid, _("Highlight visible subtitles"), "Subtitle/Grid/Highlight Subtitles in Frame");
|
||||
|
||||
PAGE_SIZER(_("Grid"), grid)
|
||||
OptionAdd(panel, grid_flex, _("Allow grid to take focus"), "Subtitle/Grid/Focus Allow");
|
||||
OptionAdd(panel, grid_flex, _("Highlight visible subtitles"), "Subtitle/Grid/Highlight Subtitles in Frame");
|
||||
|
||||
PAGE_END()
|
||||
}
|
||||
SetSizerAndFit(sizer);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
void Preferences::Audio(wxTreebook *book) {
|
||||
PAGE_CREATE(_("Audio"))
|
||||
class Audio: public OptionPage {
|
||||
public:
|
||||
Audio(wxTreebook *book): OptionPage(book, _("Audio")) {
|
||||
|
||||
PAGE_SIZER(_("Options"), general)
|
||||
OptionAdd(panel, general_flex, _("Grab times from line upon selection"), "Audio/Grab Times on Select");
|
||||
OptionAdd(panel, general_flex, _("Default mouse wheel to zoom"), "Audio/Wheel Default to Zoom");
|
||||
OptionAdd(panel, general_flex, _("Lock scroll on cursor"), "Audio/Lock Scroll on Cursor");
|
||||
OptionAdd(panel, general_flex, _("Snap to keyframes"), "Audio/Display/Snap/Keyframes");
|
||||
OptionAdd(panel, general_flex, _("Snap to adjacent lines"), "Audio/Display/Snap/Other Lines");
|
||||
OptionAdd(panel, general_flex, _("Auto-focus on mouse over"), "Audio/Auto/Focus");
|
||||
OptionAdd(panel, general_flex, _("Play audio when stepping in video"), "Audio/Plays When Stepping Video");
|
||||
wxFlexGridSizer *general = PageSizer(_("Options"));
|
||||
OptionAdd(general, _("Grab times from line upon selection"), "Audio/Grab Times on Select");
|
||||
OptionAdd(general, _("Default mouse wheel to zoom"), "Audio/Wheel Default to Zoom");
|
||||
OptionAdd(general, _("Lock scroll on cursor"), "Audio/Lock Scroll on Cursor");
|
||||
OptionAdd(general, _("Snap to keyframes"), "Audio/Display/Snap/Keyframes");
|
||||
OptionAdd(general, _("Snap to adjacent lines"), "Audio/Display/Snap/Other Lines");
|
||||
OptionAdd(general, _("Auto-focus on mouse over"), "Audio/Auto/Focus");
|
||||
OptionAdd(general, _("Play audio when stepping in video"), "Audio/Plays When Stepping Video");
|
||||
CellSkip(general);
|
||||
OptionAdd(general, _("Default timing length"), "Timing/Default Duration", 0, 36000);
|
||||
OptionAdd(general, _("Default lead-in length"), "Audio/Lead/IN", 0, 36000);
|
||||
OptionAdd(general, _("Default lead-out length"), "Audio/Lead/OUT", 0, 36000);
|
||||
|
||||
CELL_SKIP(general_flex)
|
||||
const wxString dtl_arr[3] = { _("Don't show"), _("Show previous"), _("Show all") };
|
||||
wxArrayString choice_dtl(3, dtl_arr);
|
||||
OptionChoice(general, _("Show inactive lines"), choice_dtl, "Audio/Inactive Lines Display Mode");
|
||||
OptionAdd(general, _("Start-marker drag sensitivity"), "Audio/Start Drag Sensitivity", 1, 15);
|
||||
|
||||
OptionAdd(panel, general_flex, _("Default timing length"), "Timing/Default Duration", 0, 36000);
|
||||
OptionAdd(panel, general_flex, _("Default lead-in length"), "Audio/Lead/IN", 0, 36000);
|
||||
OptionAdd(panel, general_flex, _("Default lead-out length"), "Audio/Lead/OUT", 0, 36000);
|
||||
wxFlexGridSizer *display = PageSizer(_("Display Visual Options"));
|
||||
OptionAdd(display, _("Secondary lines"), "Audio/Display/Draw/Secondary Lines");
|
||||
OptionAdd(display, _("Selection background"), "Audio/Display/Draw/Selection Background");
|
||||
OptionAdd(display, _("Timeline"), "Audio/Display/Draw/Timeline");
|
||||
OptionAdd(display, _("Cursor time"), "Audio/Display/Draw/Cursor Time");
|
||||
OptionAdd(display, _("Keyframes"), "Audio/Display/Draw/Keyframes");
|
||||
OptionAdd(display, _("Video position"), "Audio/Display/Draw/Video Position");
|
||||
|
||||
const wxString dtl_arr[3] = { _("Don't show"), _("Show previous"), _("Show all") };
|
||||
wxArrayString choice_dtl(3, dtl_arr);
|
||||
OptionChoice(panel, general_flex, _("Show inactive lines"), choice_dtl, "Audio/Inactive Lines Display Mode");
|
||||
|
||||
OptionAdd(panel, general_flex, _("Start-marker drag sensitivity"), "Audio/Start Drag Sensitivity", 1, 15);
|
||||
|
||||
PAGE_SIZER(_("Display Visual Options"), display)
|
||||
OptionAdd(panel, display_flex, _("Secondary lines"), "Audio/Display/Draw/Secondary Lines");
|
||||
OptionAdd(panel, display_flex, _("Selection background"), "Audio/Display/Draw/Selection Background");
|
||||
OptionAdd(panel, display_flex, _("Timeline"), "Audio/Display/Draw/Timeline");
|
||||
OptionAdd(panel, display_flex, _("Cursor time"), "Audio/Display/Draw/Cursor Time");
|
||||
OptionAdd(panel, display_flex, _("Keyframes"), "Audio/Display/Draw/Keyframes");
|
||||
OptionAdd(panel, display_flex, _("Video position"), "Audio/Display/Draw/Video Position");
|
||||
|
||||
PAGE_END()
|
||||
}
|
||||
SetSizerAndFit(sizer);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
void Preferences::Video(wxTreebook *book) {
|
||||
|
@ -575,9 +608,9 @@ Preferences::Preferences(wxWindow *parent): wxDialog(parent, -1, _("Preferences"
|
|||
|
||||
book = new wxTreebook(this, -1, wxDefaultPosition, wxDefaultSize);
|
||||
general = new General(book);
|
||||
subtitles = new Subtitles(book);
|
||||
audio = new Audio(book);
|
||||
|
||||
Subtitles(book);
|
||||
Audio(book);
|
||||
Video(book);
|
||||
Interface(book);
|
||||
Interface_Colours(book);
|
||||
|
|
|
@ -29,6 +29,20 @@
|
|||
#include "browse_button.h"
|
||||
|
||||
class General;
|
||||
class Subtitles;
|
||||
class Audio;
|
||||
//class Video;
|
||||
//class Interface;
|
||||
//class Interface_Colours;
|
||||
//class Interface_Hotkeys;
|
||||
//class Paths;
|
||||
//class File_Associations;
|
||||
//class Backup;
|
||||
//class Automation;
|
||||
//class Advanced;
|
||||
//class Advanced_Interface;
|
||||
//class Advanced_Audio;
|
||||
//class Advanced_Video;
|
||||
|
||||
class Preferences: public wxDialog {
|
||||
wxTreebook *book;
|
||||
|
@ -38,15 +52,26 @@ class Preferences: public wxDialog {
|
|||
void OnApply(wxCommandEvent &event);
|
||||
|
||||
General *general;
|
||||
Subtitles *subtitles;
|
||||
Audio *audio;
|
||||
// Video *video;
|
||||
// Interface *interface;
|
||||
// Interface_Colours *interface_colours;
|
||||
// Interface_Hotkeys *interface_hotkeys;
|
||||
// Paths *paths;
|
||||
// File_Associations *file_associations;
|
||||
// Backup *backup;
|
||||
// Automation *automation;
|
||||
// Advanced *advanced;
|
||||
// Advanced_Interface *advanced_interface;
|
||||
// Advanced_Audio *advanced_audio;
|
||||
// Advanced_Video *advanced_video;
|
||||
|
||||
// void OptionAdd(wxPanel *parent, wxFlexGridSizer *flex, const wxString &name, const char *opt_name);
|
||||
void OptionAdd(wxPanel *parent, wxFlexGridSizer *flex, const wxString &name, const char *opt_name, double min=0, double max=100, double inc=1);
|
||||
void OptionChoice(wxPanel *parent, wxFlexGridSizer *flex, const wxString &name, const wxArrayString &choices, const char *opt_name);
|
||||
void OptionBrowse(wxPanel *parent, wxFlexGridSizer *flex, const wxString &name, BrowseType browse_type, const char *opt_name);
|
||||
|
||||
void General_old(wxTreebook *book);
|
||||
void Subtitles(wxTreebook *book);
|
||||
void Audio(wxTreebook *book);
|
||||
void Video(wxTreebook *book);
|
||||
void Interface(wxTreebook *book);
|
||||
void Interface_Colours(wxTreebook *book);
|
||||
|
|
Loading…
Reference in a new issue