diff --git a/core/dialog_options.cpp b/core/dialog_options.cpp new file mode 100644 index 000000000..815c100fb --- /dev/null +++ b/core/dialog_options.cpp @@ -0,0 +1,73 @@ +// Copyright (c) 2006, Rodrigo Braz Monteiro +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// * Neither the name of the Aegisub Group nor the names of its contributors +// may be used to endorse or promote products derived from this software +// without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +// ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +// LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. +// +// ----------------------------------------------------------------------------- +// +// AEGISUB +// +// Website: http://aegisub.cellosoft.com +// Contact: mailto:zeratul@cellosoft.com +// + + +/////////// +// Headers +#include +#include "dialog_options.h" + + +/////////////// +// Constructor +DialogOptions::DialogOptions(wxWindow *parent) +: wxDialog(parent, -1, _T("Options"), wxDefaultPosition, wxSize(400,300)) +{ + // List book + book = new wxNotebook(this,-1,wxDefaultPosition,wxSize(300,200)); + wxWindow *page1 = new wxTextCtrl(book,-1,_T(""),wxDefaultPosition,wxSize(100,50)); + wxWindow *page2 = new wxPanel(book,-1,wxDefaultPosition,wxSize(100,50)); + wxSizer *testSizer = new wxBoxSizer(wxVERTICAL); + wxWindow *testWindow = new wxPanel(book,-1); + testSizer->Add(new wxTextCtrl(testWindow,-1,_T(""),wxDefaultPosition,wxSize(100,50)),1,wxEXPAND | wxALL,5); + testSizer->Add(new wxButton(testWindow,wxID_OK),0,wxTOP,5); + testWindow->SetSizer(testSizer); + wxWindow *page3 = testWindow; + book->AddPage(page1,_T("Test"),true); + book->AddPage(page2,_T("Test2"),true); + book->AddPage(page3,_T("Why, hello there"),true); + + // Sizer + wxSizer *mainSizer = new wxBoxSizer(wxVERTICAL); + mainSizer->Add(book,1,wxEXPAND | wxALL,5); + //mainSizer->SetSizeHints(this); + SetSizer(mainSizer); +} + + +////////////// +// Destructor +DialogOptions::~DialogOptions() { +} diff --git a/core/dialog_options.h b/core/dialog_options.h new file mode 100644 index 000000000..f0611875e --- /dev/null +++ b/core/dialog_options.h @@ -0,0 +1,59 @@ +// Copyright (c) 2006, Rodrigo Braz Monteiro +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// * Neither the name of the Aegisub Group nor the names of its contributors +// may be used to endorse or promote products derived from this software +// without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +// ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +// LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. +// +// ----------------------------------------------------------------------------- +// +// AEGISUB +// +// Website: http://aegisub.cellosoft.com +// Contact: mailto:zeratul@cellosoft.com +// + + +#pragma once + + +//////////// +// Includes +#include + + +////////////// +// Prototypes +class wxNotebook; + + +//////////////////////// +// Options screen class +class DialogOptions: public wxDialog { +private: + wxNotebook *book; + +public: + DialogOptions(wxWindow *parent); + ~DialogOptions(); +}; diff --git a/core/frame_main.cpp b/core/frame_main.cpp index 204a8038f..9dc15b5cf 100644 --- a/core/frame_main.cpp +++ b/core/frame_main.cpp @@ -311,6 +311,7 @@ void FrameMain::InitMenu() { AppendBitmapMenuItem (toolMenu,Menu_Tools_SpellCheck, _("Spe&ll checker..."),_("Open spell checker"), wxBITMAP(spellcheck_toolbutton)); #endif toolMenu->AppendSeparator(); + AppendBitmapMenuItem (toolMenu,Menu_Tools_Options, _("&Options..."), _("Configure Aegisub"), wxBITMAP(hotkeys_button)); AppendBitmapMenuItem (toolMenu,Menu_Tools_Hotkeys, _("&Hotkeys..."), _("Remap hotkeys"), wxBITMAP(hotkeys_button)); MenuBar->Append(toolMenu, _("&Tools")); diff --git a/core/frame_main.h b/core/frame_main.h index a2ec097d6..cbc2b48b0 100644 --- a/core/frame_main.h +++ b/core/frame_main.h @@ -198,6 +198,7 @@ private: void OnOpenResample (wxCommandEvent &event); void OnOpenTimingProcessor (wxCommandEvent &event); void OnOpenHotkeys (wxCommandEvent &event); + void OnOpenOptions (wxCommandEvent &event); void OnNextFrame(wxCommandEvent &event); void OnPrevFrame(wxCommandEvent &event); @@ -319,6 +320,7 @@ enum { Menu_Tools_Resample, Menu_Tools_Timing_Processor, Menu_Tools_Hotkeys, + Menu_Tools_Options, Menu_Help_Contents, Menu_Help_IRCChannel, diff --git a/core/frame_main_events.cpp b/core/frame_main_events.cpp index dbdb38238..91ba02302 100644 --- a/core/frame_main_events.cpp +++ b/core/frame_main_events.cpp @@ -79,6 +79,7 @@ #include "dialog_fextracker.h" #endif #include "dialog_progress.h" +#include "dialog_options.h" #include "utils.h" @@ -173,6 +174,7 @@ BEGIN_EVENT_TABLE(FrameMain, wxFrame) EVT_MENU(Menu_Tools_Resample, FrameMain::OnOpenResample) EVT_MENU(Menu_Tools_Timing_Processor, FrameMain::OnOpenTimingProcessor) EVT_MENU(Menu_Tools_Hotkeys, FrameMain::OnOpenHotkeys) + EVT_MENU(Menu_Tools_Options, FrameMain::OnOpenOptions) EVT_MENU(Menu_Subs_Snap_Start_To_Video, FrameMain::OnSnapSubsStartToVid) EVT_MENU(Menu_Subs_Snap_End_To_Video, FrameMain::OnSnapSubsEndToVid) @@ -768,6 +770,14 @@ void FrameMain::OnOpenHotkeys (wxCommandEvent &event) { } +/////////////////////// +// Open Options dialog +void FrameMain::OnOpenOptions (wxCommandEvent &event) { + DialogOptions options(this); + options.ShowModal(); +} + + /////////////////// // Open Automation void FrameMain::OnOpenAutomation (wxCommandEvent &event) {