Added the associations dialogue to the menu and made Aegisub capable of associating sub and ttxt, as well as opening them by command line or drag-drop

Originally committed to SVN as r1260.
This commit is contained in:
Rodrigo Braz Monteiro 2007-06-19 04:04:46 +00:00
parent 708622cc63
commit 64c6c7ee07
6 changed files with 30 additions and 2 deletions

View file

@ -83,12 +83,14 @@ Please visit http://aegisub.net to download latest version
o Fixed loading of SRT and TXT files, which were causing an empty line to appear at the start of the file. (AMZ) o Fixed loading of SRT and TXT files, which were causing an empty line to appear at the start of the file. (AMZ)
o Added support for reading v4.00++ (ASS2) files. (AMZ) o Added support for reading v4.00++ (ASS2) files. (AMZ)
o Added very basic reading support for MPEG-4 Streaming Text (TTXT) subtitles. (AMZ) o Added very basic reading support for MPEG-4 Streaming Text (TTXT) subtitles. (AMZ)
o Added full read-write support for MicroDVD subtitles. (AMZ) o Added full read-write support for MicroDVD subtitles (the most common .sub format). (AMZ)
o Improved saving of SRT files. (AMZ)
- Changes to main menu: - Changes to main menu:
o There are now new options, and most were moved around to have better organization. (AMZ/jfs) o There are now new options, and most were moved around to have better organization. (AMZ/jfs)
o General tweaks changes, such as better icons, and fixing of flickering and slowness. (AMZ) o General tweaks changes, such as better icons, and fixing of flickering and slowness. (AMZ)
o Undo and redo now have descriptions. (Dansolo) o Undo and redo now have descriptions. (Dansolo)
o Merged the three "Recombine" functions into a single one that autodetects the correct type, and also supports two new cases. (AMZ) o Merged the three "Recombine" functions into a single one that autodetects the correct type, and also supports two new cases. (AMZ)
o Added the associations dialogue to the menu. (AMZ)
- Subtitles grid changes: - Subtitles grid changes:
o Fixed line selection after pasting. (AMZ) o Fixed line selection after pasting. (AMZ)
o Plain-text lines can now be pasted into the grid. They will be inserted as default lines with the text as their content. (AMZ) o Plain-text lines can now be pasted into the grid. They will be inserted as default lines with the text as their content. (AMZ)

View file

@ -50,10 +50,14 @@ DialogAssociations::DialogAssociations (wxWindow *parent)
choices.Add(_T("Advanced Substation Alpha (.ass)")); choices.Add(_T("Advanced Substation Alpha (.ass)"));
choices.Add(_T("Substation Alpha (.ssa)")); choices.Add(_T("Substation Alpha (.ssa)"));
choices.Add(_T("SubRip (.srt)")); choices.Add(_T("SubRip (.srt)"));
choices.Add(_T("MicroDVD (.sub)"));
choices.Add(_T("MPEG-4 Timed Text (.ttxt)"));
ListBox = new wxCheckListBox(this,-1,wxDefaultPosition,wxSize(200,80), choices); ListBox = new wxCheckListBox(this,-1,wxDefaultPosition,wxSize(200,80), choices);
ListBox->Check(0,CheckAssociation(_T("ass"))); ListBox->Check(0,CheckAssociation(_T("ass")));
ListBox->Check(1,CheckAssociation(_T("ssa"))); ListBox->Check(1,CheckAssociation(_T("ssa")));
ListBox->Check(2,CheckAssociation(_T("srt"))); ListBox->Check(2,CheckAssociation(_T("srt")));
ListBox->Check(3,CheckAssociation(_T("sub")));
ListBox->Check(4,CheckAssociation(_T("ttxt")));
// Label and list sizer // Label and list sizer
wxStaticText *label = new wxStaticText(this,-1,_("Please select the formats you want to\nassociate with Aegisub:"),wxDefaultPosition,wxDefaultSize); wxStaticText *label = new wxStaticText(this,-1,_("Please select the formats you want to\nassociate with Aegisub:"),wxDefaultPosition,wxDefaultSize);
@ -125,5 +129,7 @@ void DialogAssociations::OnOK(wxCommandEvent &event) {
if (ListBox->IsChecked(0)) AssociateType(_T("ass")); if (ListBox->IsChecked(0)) AssociateType(_T("ass"));
if (ListBox->IsChecked(1)) AssociateType(_T("ssa")); if (ListBox->IsChecked(1)) AssociateType(_T("ssa"));
if (ListBox->IsChecked(2)) AssociateType(_T("srt")); if (ListBox->IsChecked(2)) AssociateType(_T("srt"));
if (ListBox->IsChecked(3)) AssociateType(_T("sub"));
if (ListBox->IsChecked(4)) AssociateType(_T("ttxt"));
event.Skip(); event.Skip();
} }

View file

@ -415,7 +415,10 @@ void FrameMain::InitMenu() {
viewMenu = new wxMenu(); viewMenu = new wxMenu();
AppendBitmapMenuItem(viewMenu,Menu_View_Language, _T("&Language..."), _("Select Aegisub interface language"), wxBITMAP(blank_button)); 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_Options, _("&Options...") + wxString(_T("\t")) + Hotkeys.GetText(_T("Options")), _("Configure Aegisub"), wxBITMAP(options_button));
AppendBitmapMenuItem(viewMenu,Menu_View_Associations, _("&Associations..."), _("Associate file types with Aegisub"), wxBITMAP(blank_button));
#ifdef __WXDEBUG__
AppendBitmapMenuItem(viewMenu,Menu_Tools_Log, _("Lo&g window..."), _("Open log window"), wxBITMAP(blank_button)); AppendBitmapMenuItem(viewMenu,Menu_Tools_Log, _("Lo&g window..."), _("Open log window"), wxBITMAP(blank_button));
#endif
viewMenu->AppendSeparator(); viewMenu->AppendSeparator();
viewMenu->AppendRadioItem(Menu_View_Subs, _("Subs only view"), _("Display subtitles only")); viewMenu->AppendRadioItem(Menu_View_Subs, _("Subs only view"), _("Display subtitles only"));
viewMenu->AppendRadioItem(Menu_View_Video, _("Video+Subs view"), _("Display video and subtitles only")); viewMenu->AppendRadioItem(Menu_View_Video, _("Video+Subs view"), _("Display video and subtitles only"));
@ -1265,7 +1268,9 @@ bool FrameMain::LoadList(wxArrayString list) {
subsList.Add(_T("ass")); subsList.Add(_T("ass"));
subsList.Add(_T("ssa")); subsList.Add(_T("ssa"));
subsList.Add(_T("srt")); subsList.Add(_T("srt"));
subsList.Add(_T("sub"));
subsList.Add(_T("txt")); subsList.Add(_T("txt"));
subsList.Add(_T("ttxt"));
// Audio formats // Audio formats
wxArrayString audioList; wxArrayString audioList;
@ -1279,6 +1284,7 @@ bool FrameMain::LoadList(wxArrayString list) {
audioList.Add(_T("ape")); audioList.Add(_T("ape"));
audioList.Add(_T("flac")); audioList.Add(_T("flac"));
audioList.Add(_T("mka")); audioList.Add(_T("mka"));
audioList.Add(_T("m4a"));
// Scan list // Scan list
wxString audio = _T(""); wxString audio = _T("");

View file

@ -167,6 +167,7 @@ private:
void OnCloseAudio (wxCommandEvent &event); void OnCloseAudio (wxCommandEvent &event);
void OnChooseLanguage (wxCommandEvent &event); void OnChooseLanguage (wxCommandEvent &event);
void OnPickAssociations (wxCommandEvent &event);
void OnViewStandard (wxCommandEvent &event); void OnViewStandard (wxCommandEvent &event);
void OnViewVideo (wxCommandEvent &event); void OnViewVideo (wxCommandEvent &event);
void OnViewAudio (wxCommandEvent &event); void OnViewAudio (wxCommandEvent &event);
@ -339,6 +340,7 @@ enum {
Menu_Edit_Delete, Menu_Edit_Delete,
Menu_View_Language, Menu_View_Language,
Menu_View_Associations,
Menu_View_Standard, Menu_View_Standard,
Menu_View_Audio, Menu_View_Audio,
Menu_View_Video, Menu_View_Video,

View file

@ -79,6 +79,7 @@
#include "dialog_detached_video.h" #include "dialog_detached_video.h"
#include "dialog_dummy_video.h" #include "dialog_dummy_video.h"
#include "dialog_spellchecker.h" #include "dialog_spellchecker.h"
#include "dialog_associations.h"
//////////////////// ////////////////////
@ -180,6 +181,7 @@ BEGIN_EVENT_TABLE(FrameMain, wxFrame)
EVT_MENU(Menu_Help_About, FrameMain::OnAbout) EVT_MENU(Menu_Help_About, FrameMain::OnAbout)
EVT_MENU(Menu_View_Language, FrameMain::OnChooseLanguage) EVT_MENU(Menu_View_Language, FrameMain::OnChooseLanguage)
EVT_MENU(Menu_View_Associations, FrameMain::OnPickAssociations)
EVT_MENU(Menu_View_Standard, FrameMain::OnViewStandard) EVT_MENU(Menu_View_Standard, FrameMain::OnViewStandard)
EVT_MENU(Menu_View_Audio, FrameMain::OnViewAudio) EVT_MENU(Menu_View_Audio, FrameMain::OnViewAudio)
EVT_MENU(Menu_View_Video, FrameMain::OnViewVideo) EVT_MENU(Menu_View_Video, FrameMain::OnViewVideo)
@ -1522,6 +1524,14 @@ void FrameMain::OnChooseLanguage (wxCommandEvent &event) {
} }
/////////////////////
// Pick associations
void FrameMain::OnPickAssociations(wxCommandEvent &event) {
DialogAssociations diag(NULL);
diag.ShowModal();
}
///////////////// /////////////////
// View standard // View standard
void FrameMain::OnViewStandard (wxCommandEvent &event) { void FrameMain::OnViewStandard (wxCommandEvent &event) {

View file

@ -294,7 +294,9 @@ void AegisubApp::RegistryAssociate () {
// Check associations // Check associations
if (Options.AsBool(_T("Show associations"))) { if (Options.AsBool(_T("Show associations"))) {
bool gotAll = DialogAssociations::CheckAssociation(_T("ass")) && DialogAssociations::CheckAssociation(_T("ssa")) && DialogAssociations::CheckAssociation(_T("srt")); bool gotAll = DialogAssociations::CheckAssociation(_T("ass")) && DialogAssociations::CheckAssociation(_T("ssa")) &&
DialogAssociations::CheckAssociation(_T("srt")) && DialogAssociations::CheckAssociation(_T("sub")) &&
DialogAssociations::CheckAssociation(_T("ttxt"));
if (!gotAll) { if (!gotAll) {
DialogAssociations diag(NULL); DialogAssociations diag(NULL);
diag.ShowModal(); diag.ShowModal();