From a891964bc26b18f92b94692519561c7881a4c769 Mon Sep 17 00:00:00 2001 From: Rodrigo Braz Monteiro Date: Wed, 11 Apr 2007 21:24:31 +0000 Subject: [PATCH] Merged the hotkeys dialog into the options dialog. Originally committed to SVN as r1058. --- aegisub/Makefile.am | 1 - aegisub/changelog.txt | 1 + aegisub/dialog_hotkeys.cpp | 220 -------------------------- aegisub/dialog_hotkeys.h | 111 ------------- aegisub/dialog_options.cpp | 141 +++++++++++++++++ aegisub/dialog_options.h | 47 ++++++ aegisub/frame_main.cpp | 2 - aegisub/frame_main.h | 2 - aegisub/frame_main_events.cpp | 9 -- aegisub/hotkeys.h | 4 +- aegisub/subtitles_provider_libass.cpp | 2 +- 11 files changed, 192 insertions(+), 348 deletions(-) delete mode 100644 aegisub/dialog_hotkeys.cpp delete mode 100644 aegisub/dialog_hotkeys.h diff --git a/aegisub/Makefile.am b/aegisub/Makefile.am index 54acedd56..c96e7e489 100644 --- a/aegisub/Makefile.am +++ b/aegisub/Makefile.am @@ -65,7 +65,6 @@ aegisub_SOURCES = \ dialog_export.cpp \ dialog_fextracker.cpp \ dialog_fonts_collector.cpp \ - dialog_hotkeys.cpp \ dialog_jumpto.cpp \ dialog_kanji_timer.cpp \ dialog_options.cpp \ diff --git a/aegisub/changelog.txt b/aegisub/changelog.txt index bb02eb610..b31b6816a 100644 --- a/aegisub/changelog.txt +++ b/aegisub/changelog.txt @@ -213,6 +213,7 @@ Please visit http://aegisub.net to download latest version - Implemented sorting of subtitles by start time. (AMZ) - Recovered subtitle files are now saved in their own subfolder (customizeable in config.dat). (AMZ) - Fixed crash with changing font properties via the subtitle edit box when there was a \fs override tag earlier in the line. (AMZ) +- Hotkey editor was moved inside the options dialog. (AMZ) = 1.09 beta - 2006.01.16 =========================== diff --git a/aegisub/dialog_hotkeys.cpp b/aegisub/dialog_hotkeys.cpp deleted file mode 100644 index 255cf1d1c..000000000 --- a/aegisub/dialog_hotkeys.cpp +++ /dev/null @@ -1,220 +0,0 @@ -// Copyright (c) 2005, 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 -// - - -//////////// -// Includes -#include "dialog_hotkeys.h" -#include "frame_main.h" -#include "main.h" - - -/////////////// -// Constructor -DialogHotkeys::DialogHotkeys(FrameMain *_parent) -: wxDialog(NULL, -1, _("Hotkeys"), wxDefaultPosition, wxSize(300,300), wxCAPTION | wxCLOSE_BOX | wxRESIZE_BORDER, _T("Hotkeys")) -{ - // Backup original shortcuts - origKeys = Hotkeys.key; - - // Set variables - modified = false; - parent = _parent; - - // Description - wxStaticText *text = new wxStaticText(this,-1,_("List of all hotkeys (shortcuts) available in Aegisub. Double click on any item to reassign it.")); - - // List of shortcuts - Shortcuts = new wxListView(this,Hotkey_List,wxDefaultPosition,wxSize(450,380),wxLC_REPORT | wxLC_SINGLE_SEL); - Shortcuts->InsertColumn(0,_("Function"),wxLIST_FORMAT_LEFT,245); - Shortcuts->InsertColumn(1,_("Key"),wxLIST_FORMAT_LEFT,180); - - // Populate list - std::map::iterator cur; - for (cur = Hotkeys.key.end();cur-- != Hotkeys.key.begin();) { - wxListItem item; - item.SetText(wxGetTranslation(cur->second.origName)); - item.SetData(&cur->second); - int pos = Shortcuts->InsertItem(item); - Shortcuts->SetItem(pos,1,cur->second.GetText()); - } - - // Button sizer - wxSizer *ButtonSizer = new wxBoxSizer(wxHORIZONTAL); - ButtonSizer->AddStretchSpacer(1); -#ifndef __APPLE__ - ButtonSizer->Add(new wxButton(this,wxID_OK),0,wxRIGHT|wxEXPAND,5); - ButtonSizer->Add(new wxButton(this,wxID_CANCEL),0,wxRIGHT|wxEXPAND,0); -#else - ButtonSizer->Add(new wxButton(this,wxID_CANCEL),0,wxRIGHT|wxEXPAND,5); - ButtonSizer->Add(new wxButton(this,wxID_OK),0,wxRIGHT|wxEXPAND,0); -#endif - - // Main sizer - wxSizer *MainSizer = new wxBoxSizer(wxVERTICAL); - MainSizer->Add(text,0,wxALL|wxEXPAND,5); - MainSizer->Add(Shortcuts,1,wxLEFT|wxRIGHT|wxTOP|wxEXPAND,5); - MainSizer->Add(ButtonSizer,0,wxALL|wxEXPAND,5); - MainSizer->SetSizeHints(this); - SetSizer(MainSizer); - CenterOnParent(); -} - - -/////////////// -// Event table -BEGIN_EVENT_TABLE(DialogHotkeys,wxDialog) - EVT_LIST_ITEM_ACTIVATED (Hotkey_List,DialogHotkeys::OnEditItem) - EVT_BUTTON(wxID_OK,DialogHotkeys::OnOK) - EVT_BUTTON(wxID_CANCEL,DialogHotkeys::OnCancel) -END_EVENT_TABLE() - - -////////////// -// OK pressed -void DialogHotkeys::OnOK(wxCommandEvent &event) { - // Apply changes if modified - if (modified) { - // Save changes - Hotkeys.modified = true; - Hotkeys.Save(); - - // Rebuild menu - parent->InitMenu(); - - // Rebuild accelerator table - parent->SetAccelerators(); - } - - // Close - EndModal(0); -} - - -////////////////// -// Cancel pressed -void DialogHotkeys::OnCancel(wxCommandEvent &event) { - // Restore if it was modified - if (modified) Hotkeys.key = origKeys; - - // Close - EndModal(0); -} - - -///////////////// -// Edit a hotkey -void DialogHotkeys::OnEditItem(wxListEvent &event) { - // Get key and store old - HotkeyType *curKey = (HotkeyType *)event.GetData(); - int oldKeycode = curKey->keycode; - int oldFlags = curKey->flags; - - // Open dialog - DialogInputHotkey input(curKey,event.GetText()); - input.ShowModal(); - - // Update stuff if it changed - if (oldKeycode != curKey->keycode || oldFlags != curKey->flags) { - Shortcuts->SetItem(event.GetIndex(),1,curKey->GetText()); - modified = true; - } -} - - -///////////////////// -// Input constructor -DialogInputHotkey::DialogInputHotkey(HotkeyType *_key,wxString name) -: wxDialog(NULL, -1, _("Press Key"), wxDefaultPosition, wxSize(200,50), wxCAPTION | wxWANTS_CHARS , _T("Press key")) -{ - // Key - key = _key; - - // Text - wxStaticText *text = new wxStaticText(this,-1,_("Press key to bind to \"") + name + _("\" or esc to cancel.")); - - // Key capturer - capture = new CaptureKey(this); - - // Main sizer - wxSizer *MainSizer = new wxBoxSizer(wxVERTICAL); - MainSizer->Add(text,1,wxALL,5); - MainSizer->SetSizeHints(this); - SetSizer(MainSizer); -} - - -//////////////////////// -// Capturer constructor -CaptureKey::CaptureKey(DialogInputHotkey *_parent) -: wxTextCtrl(_parent,-1,_T(""),wxDefaultPosition,wxSize(0,0)) -{ - parent = _parent; - SetFocus(); -} - - -///////////////////// -// Input event table -BEGIN_EVENT_TABLE(CaptureKey,wxTextCtrl) - EVT_KEY_DOWN(CaptureKey::OnKeyDown) - EVT_KILL_FOCUS(CaptureKey::OnLoseFocus) -END_EVENT_TABLE() - - -/////////////// -// On key down -void CaptureKey::OnKeyDown(wxKeyEvent &event) { - int keycode = event.GetKeyCode(); - - if (keycode == WXK_ESCAPE) parent->EndModal(0); - else if (keycode != WXK_SHIFT && keycode != WXK_CONTROL && keycode != WXK_ALT) { - parent->key->keycode = keycode; - int mod = 0; - if (event.m_altDown) mod |= wxACCEL_ALT; - if (event.m_controlDown) mod |= wxACCEL_CTRL; - if (event.m_shiftDown) mod |= wxACCEL_SHIFT; - parent->key->flags = mod; - parent->EndModal(0); - } - else event.Skip(); -} - - -////////////// -// Keep focus -void CaptureKey::OnLoseFocus(wxFocusEvent &event) { - SetFocus(); -} diff --git a/aegisub/dialog_hotkeys.h b/aegisub/dialog_hotkeys.h deleted file mode 100644 index df25b17b5..000000000 --- a/aegisub/dialog_hotkeys.h +++ /dev/null @@ -1,111 +0,0 @@ -// Copyright (c) 2005, 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 -// - - -#ifndef DIALOG_HOTKEYS_H -#define DIALOG_HOTKEYS_H - - -//////////// -// Includes -#include -#include -#include -#include "hotkeys.h" - - -////////////// -// Prototypes -class FrameMain; -class DialogInputHotkey; - - -///////////////////// -// List dialog class -class DialogHotkeys : public wxDialog { -private: - std::map origKeys; - wxListView *Shortcuts; - bool modified; - FrameMain *parent; - - void OnEditItem(wxListEvent &event); - void OnOK(wxCommandEvent &event); - void OnCancel(wxCommandEvent &event); - -public: - DialogHotkeys(FrameMain *parent); - - DECLARE_EVENT_TABLE() -}; - - -///////////////////// -// Capture key class -class CaptureKey : public wxTextCtrl { -private: - DialogInputHotkey *parent; - void OnKeyDown(wxKeyEvent &event); - void OnLoseFocus(wxFocusEvent &event); - -public: - CaptureKey(DialogInputHotkey *parent); - - DECLARE_EVENT_TABLE() -}; - - -////////////////////// -// Input dialog class -class DialogInputHotkey : public wxDialog { - friend class CaptureKey; - -private: - CaptureKey *capture; - HotkeyType *key; - -public: - DialogInputHotkey(HotkeyType *key,wxString name); -}; - - -/////// -// IDs -enum { - Hotkey_List = 2500 -}; - - -#endif diff --git a/aegisub/dialog_options.cpp b/aegisub/dialog_options.cpp index ebfc5f1bb..7f7193df5 100644 --- a/aegisub/dialog_options.cpp +++ b/aegisub/dialog_options.cpp @@ -83,6 +83,7 @@ DialogOptions::DialogOptions(wxWindow *parent) wxPanel *audioPage = new wxPanel(book,-1); wxPanel *displayPage = new wxPanel(book,-1); wxPanel *autoPage = new wxPanel(book,-1); + wxPanel *hotkeysPage = new wxPanel(book,-1); // General page { @@ -589,6 +590,38 @@ DialogOptions::DialogOptions(wxWindow *parent) autoPage->SetSizer(autoMainSizer); } + // Hotkeys page + { + // Variables + hotkeysModified = false; + origKeys = Hotkeys.key; + + // Description + wxStaticText *text = new wxStaticText(hotkeysPage,-1,_("List of all hotkeys (shortcuts) available in Aegisub.\nDouble click on any item to reassign it."),wxDefaultPosition,wxSize(150,-1)); + + // List of shortcuts + Shortcuts = new wxListView(hotkeysPage,Hotkey_List,wxDefaultPosition,wxSize(250,150),wxLC_REPORT | wxLC_SINGLE_SEL); + Shortcuts->InsertColumn(0,_("Function"),wxLIST_FORMAT_LEFT,200); + Shortcuts->InsertColumn(1,_("Key"),wxLIST_FORMAT_LEFT,120); + + // Populate list + std::map::iterator cur; + for (cur = Hotkeys.key.end();cur-- != Hotkeys.key.begin();) { + wxListItem item; + item.SetText(wxGetTranslation(cur->second.origName)); + item.SetData(&cur->second); + int pos = Shortcuts->InsertItem(item); + Shortcuts->SetItem(pos,1,cur->second.GetText()); + } + + // Main sizer + wxSizer *hotkeysSizer = new wxBoxSizer(wxVERTICAL); + hotkeysSizer->Add(text,0,wxALL|wxEXPAND,5); + hotkeysSizer->Add(Shortcuts,1,wxLEFT|wxRIGHT|wxTOP|wxEXPAND,5); + hotkeysSizer->Fit(hotkeysPage); + hotkeysPage->SetSizer(hotkeysSizer); + } + // List book book->AddPage(generalPage,_("General"),true); book->AddSubPage(filePage,_("File save/load"),true); @@ -598,6 +631,7 @@ DialogOptions::DialogOptions(wxWindow *parent) book->AddPage(audioPage,_("Audio"),true); book->AddSubPage(displayPage,_("Display"),true); book->AddPage(autoPage,_("Automation"),true); + book->AddPage(hotkeysPage,_("Hotkeys"),true); #ifdef wxUSE_TREEBOOK book->ChangeSelection(Options.AsInt(_T("Options page"))); #endif @@ -646,6 +680,7 @@ BEGIN_EVENT_TABLE(DialogOptions,wxDialog) EVT_BUTTON(wxID_OK,DialogOptions::OnOK) EVT_BUTTON(wxID_CANCEL,DialogOptions::OnCancel) EVT_BUTTON(wxID_APPLY,DialogOptions::OnApply) + EVT_LIST_ITEM_ACTIVATED (Hotkey_List,DialogOptions::OnEditHotkey) END_EVENT_TABLE() @@ -678,6 +713,10 @@ void DialogOptions::OnApply(wxCommandEvent &event) { ////////// // Cancel void DialogOptions::OnCancel(wxCommandEvent &event) { + // Undo hotkeys + if (hotkeysModified) Hotkeys.key = origKeys; + + // Set options Options.SetInt(_T("Options page"),book->GetSelection()); Options.Save(); EndModal(0); @@ -782,6 +821,22 @@ void DialogOptions::WriteToOptions(bool justApply) { } } + // Apply hotkey changes if modified + if (hotkeysModified) { + // Save changes + Hotkeys.modified = true; + Hotkeys.Save(); + hotkeysModified = false; + origKeys = Hotkeys.key; + + // Rebuild menu + FrameMain *parent = (FrameMain*) GetParent(); + parent->InitMenu(); + + // Rebuild accelerator table + parent->SetAccelerators(); + } + // Save options Options.Save(); @@ -882,3 +937,89 @@ void DialogOptions::ReadFromOptions() { } } } + + +///////////////// +// Edit a hotkey +void DialogOptions::OnEditHotkey(wxListEvent &event) { + // Get key and store old + HotkeyType *curKey = (HotkeyType *)event.GetData(); + int oldKeycode = curKey->keycode; + int oldFlags = curKey->flags; + + // Open dialog + DialogInputHotkey input(curKey,event.GetText()); + input.ShowModal(); + + // Update stuff if it changed + if (oldKeycode != curKey->keycode || oldFlags != curKey->flags) { + Shortcuts->SetItem(event.GetIndex(),1,curKey->GetText()); + hotkeysModified = true; + } +} + + +///////////////////// +// Input constructor +DialogInputHotkey::DialogInputHotkey(HotkeyType *_key,wxString name) +: wxDialog(NULL, -1, _("Press Key"), wxDefaultPosition, wxSize(200,50), wxCAPTION | wxWANTS_CHARS , _T("Press key")) +{ + // Key + key = _key; + + // Text + wxStaticText *text = new wxStaticText(this,-1,_("Press key to bind to \"") + name + _("\" or esc to cancel.")); + + // Key capturer + capture = new CaptureKey(this); + + // Main sizer + wxSizer *MainSizer = new wxBoxSizer(wxVERTICAL); + MainSizer->Add(text,1,wxALL,5); + MainSizer->SetSizeHints(this); + SetSizer(MainSizer); +} + + +//////////////////////// +// Capturer constructor +CaptureKey::CaptureKey(DialogInputHotkey *_parent) +: wxTextCtrl(_parent,-1,_T(""),wxDefaultPosition,wxSize(0,0)) +{ + parent = _parent; + SetFocus(); +} + + +///////////////////// +// Input event table +BEGIN_EVENT_TABLE(CaptureKey,wxTextCtrl) + EVT_KEY_DOWN(CaptureKey::OnKeyDown) + EVT_KILL_FOCUS(CaptureKey::OnLoseFocus) +END_EVENT_TABLE() + + +/////////////// +// On key down +void CaptureKey::OnKeyDown(wxKeyEvent &event) { + int keycode = event.GetKeyCode(); + + if (keycode == WXK_ESCAPE) parent->EndModal(0); + else if (keycode != WXK_SHIFT && keycode != WXK_CONTROL && keycode != WXK_ALT) { + parent->key->keycode = keycode; + int mod = 0; + if (event.m_altDown) mod |= wxACCEL_ALT; + if (event.m_controlDown) mod |= wxACCEL_CTRL; + if (event.m_shiftDown) mod |= wxACCEL_SHIFT; + parent->key->flags = mod; + parent->EndModal(0); + } + else event.Skip(); +} + + +////////////// +// Keep focus +void CaptureKey::OnLoseFocus(wxFocusEvent &event) { + SetFocus(); +} diff --git a/aegisub/dialog_options.h b/aegisub/dialog_options.h index 35e1a1102..2fcac08f1 100644 --- a/aegisub/dialog_options.h +++ b/aegisub/dialog_options.h @@ -40,12 +40,17 @@ //////////// // Includes #include +#include #include +#include #include "options.h" +#include "hotkeys.h" ////////////// // Prototypes +class FrameMain; +class DialogInputHotkey; #ifdef wxUSE_TREEBOOK class wxTreebook; #else @@ -73,6 +78,11 @@ private: wxTreebook *book; std::vector binds; + // Hotkeys + std::map origKeys; + wxListView *Shortcuts; + bool hotkeysModified; + void Bind(wxControl *ctrl,wxString option,int param=0); void WriteToOptions(bool justApply=false); void ReadFromOptions(); @@ -80,6 +90,7 @@ private: void OnOK(wxCommandEvent &event); void OnCancel(wxCommandEvent &event); void OnApply(wxCommandEvent &event); + void OnEditHotkey(wxListEvent &event); public: DialogOptions(wxWindow *parent); @@ -87,3 +98,39 @@ public: DECLARE_EVENT_TABLE() }; + + +///////////////////// +// Capture key class +class CaptureKey : public wxTextCtrl { +private: + DialogInputHotkey *parent; + void OnKeyDown(wxKeyEvent &event); + void OnLoseFocus(wxFocusEvent &event); + +public: + CaptureKey(DialogInputHotkey *parent); + + DECLARE_EVENT_TABLE() +}; + + +////////////////////// +// Input dialog class +class DialogInputHotkey : public wxDialog { + friend class CaptureKey; + +private: + CaptureKey *capture; + HotkeyType *key; + +public: + DialogInputHotkey(HotkeyType *key,wxString name); +}; + + +/////// +// IDs +enum { + Hotkey_List = 2500 +}; diff --git a/aegisub/frame_main.cpp b/aegisub/frame_main.cpp index ad7691085..86b2a76fc 100644 --- a/aegisub/frame_main.cpp +++ b/aegisub/frame_main.cpp @@ -241,7 +241,6 @@ void FrameMain::InitToolbar () { // Options Toolbar->AddTool(Menu_Tools_Options,_("Options"),wxBITMAP(options_button),_("Configure Aegisub")); - Toolbar->AddTool(Menu_Tools_Hotkeys,_("Hotkeys"),wxBITMAP(hotkeys_button),_("Remap hotkeys")); Toolbar->AddTool(Grid_Toggle_Tags,_("Cycle Tag Hidding Mode"),wxBITMAP(toggle_tag_hiding),_("Cycle through tag-hiding modes")); // Update @@ -419,7 +418,6 @@ void FrameMain::InitMenu() { viewMenu = new wxMenu(); AppendBitmapMenuItem(viewMenu,Menu_View_Language, _T("&Language..."), _("Select Aegisub interface language"), wxBITMAP(blank_button)); AppendBitmapMenuItem(viewMenu,Menu_Tools_Options, _("&Options...") + wxString(_T("\t")) + Hotkeys.GetText(_T("Options")), _("Configure Aegisub"), wxBITMAP(options_button)); - AppendBitmapMenuItem(viewMenu,Menu_Tools_Hotkeys, _("&Hotkeys..."), _("Remap hotkeys"), wxBITMAP(hotkeys_button)); AppendBitmapMenuItem(viewMenu,Menu_Tools_Log, _("Lo&g window..."), _("Open log window"), wxBITMAP(blank_button)); viewMenu->AppendSeparator(); viewMenu->AppendRadioItem(Menu_View_Subs, _("Subs only view"), _("Display subtitles only")); diff --git a/aegisub/frame_main.h b/aegisub/frame_main.h index 3cf1682a7..d9c0aa266 100644 --- a/aegisub/frame_main.h +++ b/aegisub/frame_main.h @@ -204,7 +204,6 @@ private: void OnOpenResample (wxCommandEvent &event); void OnOpenTimingProcessor (wxCommandEvent &event); void OnOpenKanjiTimer (wxCommandEvent &event); - void OnOpenHotkeys (wxCommandEvent &event); void OnOpenOptions (wxCommandEvent &event); void OnOpenLog (wxCommandEvent &event); void OnGridEvent (wxCommandEvent &event); @@ -360,7 +359,6 @@ enum { Menu_Tools_Resample, Menu_Tools_Timing_Processor, Menu_Tools_Kanji_Timer, - Menu_Tools_Hotkeys, Menu_Tools_Options, Menu_Tools_Log, diff --git a/aegisub/frame_main_events.cpp b/aegisub/frame_main_events.cpp index 3a96ca9fc..4d3a1ef57 100644 --- a/aegisub/frame_main_events.cpp +++ b/aegisub/frame_main_events.cpp @@ -70,7 +70,6 @@ #include "dialog_kanji_timer.h" #include "audio_display.h" #include "toggle_bitmap.h" -#include "dialog_hotkeys.h" #include "dialog_timing_processor.h" #if USE_FEXTRACKER == 1 #include "../FexTrackerSource/FexTracker.h" @@ -168,7 +167,6 @@ BEGIN_EVENT_TABLE(FrameMain, wxFrame) EVT_MENU(Menu_Tools_Resample, FrameMain::OnOpenResample) EVT_MENU(Menu_Tools_Timing_Processor, FrameMain::OnOpenTimingProcessor) EVT_MENU(Menu_Tools_Kanji_Timer, FrameMain::OnOpenKanjiTimer) - EVT_MENU(Menu_Tools_Hotkeys, FrameMain::OnOpenHotkeys) EVT_MENU(Menu_Tools_Options, FrameMain::OnOpenOptions) EVT_MENU(Menu_Tools_Log, FrameMain::OnOpenLog) @@ -923,13 +921,6 @@ void FrameMain::OnOpenKanjiTimer (wxCommandEvent &event) { kanjitimer.ShowModal(); } -/////////////////////// -// Open Hotkeys dialog -void FrameMain::OnOpenHotkeys (wxCommandEvent &event) { - DialogHotkeys keys(this); - keys.ShowModal(); -} - /////////////////////// // Open Options dialog diff --git a/aegisub/hotkeys.h b/aegisub/hotkeys.h index 3f9b16139..eff32bb68 100644 --- a/aegisub/hotkeys.h +++ b/aegisub/hotkeys.h @@ -46,7 +46,7 @@ ////////////// // Prototypes -class DialogHotkeys; +class DialogOptions; //////////////// @@ -72,7 +72,7 @@ public: ///////////////////////////// // Class that stores hotkeys class HotkeyManager { - friend class DialogHotkeys; + friend class DialogOptions; private: bool modified; wxString filename; diff --git a/aegisub/subtitles_provider_libass.cpp b/aegisub/subtitles_provider_libass.cpp index 0270fb43f..3bc3af9b3 100644 --- a/aegisub/subtitles_provider_libass.cpp +++ b/aegisub/subtitles_provider_libass.cpp @@ -111,7 +111,7 @@ LibassSubtitlesProvider::LibassSubtitlesProvider() { ass_renderer = ass_renderer_init(ass_library); if (!ass_renderer) throw _T("ass_renderer_init failed"); ass_set_font_scale(ass_renderer, 1.); - ass_set_fonts(ass_renderer, NULL, "Sans"); + ass_set_fonts(ass_renderer, "c:\\windows\\fonts\\verdana.ttf", "Sans"); }