diff --git a/aegisub/build/aegisub_vs2008/aegisub_vs2008.vcproj b/aegisub/build/aegisub_vs2008/aegisub_vs2008.vcproj index 2be82e2e1..c79331e58 100644 --- a/aegisub/build/aegisub_vs2008/aegisub_vs2008.vcproj +++ b/aegisub/build/aegisub_vs2008/aegisub_vs2008.vcproj @@ -1031,14 +1031,6 @@ RelativePath="..\..\src\dialog_about.h" > - - - - diff --git a/aegisub/src/Makefile.am b/aegisub/src/Makefile.am index ef43073bf..dbeeefb82 100644 --- a/aegisub/src/Makefile.am +++ b/aegisub/src/Makefile.am @@ -166,7 +166,6 @@ EXTRA_aegisub_2_2_SOURCES = \ auto4_lua_dialog.cpp \ auto4_lua_scriptreader.cpp \ avisynth_wrap.cpp \ - dialog_associations.cpp \ setup.cpp \ spellchecker_hunspell.cpp \ subtitle_format_prs.cpp \ diff --git a/aegisub/src/dialog_associations.cpp b/aegisub/src/dialog_associations.cpp deleted file mode 100644 index 4930aed44..000000000 --- a/aegisub/src/dialog_associations.cpp +++ /dev/null @@ -1,154 +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 Project http://www.aegisub.org/ -// -// $Id$ - -/// @file dialog_associations.cpp -/// @brief Configure file associations for Aegisub -/// @ingroup configuration_ui -/// - - -/////////// -// Headers -#include "config.h" - -#ifndef AGI_PRE -#include -#include -#include -#endif - -#include "dialog_associations.h" - - -/// @brief Constructor -/// @param parent -/// -DialogAssociations::DialogAssociations (wxWindow *parent) -: wxDialog (parent,-1,_("Associate extensions"),wxDefaultPosition,wxDefaultSize) -{ - // List box - wxArrayString choices; - choices.Add(_T("Advanced Substation Alpha (.ass)")); - choices.Add(_T("Substation Alpha (.ssa)")); - 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->Check(0,CheckAssociation(_T("ass"))); - ListBox->Check(1,CheckAssociation(_T("ssa"))); - ListBox->Check(2,CheckAssociation(_T("srt"))); - ListBox->Check(3,CheckAssociation(_T("sub"))); - ListBox->Check(4,CheckAssociation(_T("ttxt"))); - - // Label and list sizer - wxStaticText *label = new wxStaticText(this,-1,_("Please select the formats you want to\nassociate with Aegisub:"),wxDefaultPosition,wxDefaultSize); - wxSizer *ListSizer = new wxStaticBoxSizer(wxVERTICAL,this,_("Associations")); - ListSizer->Add(label,0,0,0); - ListSizer->Add(ListBox,0,wxTOP,5); - - // Buttons - wxButton *ok = new wxButton(this, wxID_OK); - wxSizer *ButtonSizer = new wxBoxSizer(wxHORIZONTAL); - ButtonSizer->AddStretchSpacer(1); - ButtonSizer->Add(ok,0,0,0); - - // Main sizer - wxSizer *MainSizer = new wxBoxSizer(wxVERTICAL); - MainSizer->Add(ListSizer,0,wxLEFT | wxRIGHT,5); - MainSizer->Add(ButtonSizer,0,wxALL | wxEXPAND,5); - SetSizer(MainSizer); - MainSizer->SetSizeHints(this); - Center(); -} - - - -/// @brief Destructor -/// -DialogAssociations::~DialogAssociations() { -} - - - -/// @brief Associates a type with Aegisub -/// @param type -/// -void DialogAssociations::AssociateType(wxString type) { - type.Lower(); - wxRegKey *key = new wxRegKey(_T("HKEY_CURRENT_USER\\Software\\Classes\\.") + type); - if (!key->Exists()) key->Create(); - key->SetValue(_T(""),_T("Aegisub")); - delete key; -} - - - -/// @brief Checks if a type is associated with Aegisub -/// @param type -/// @return -/// -bool DialogAssociations::CheckAssociation(wxString type) { - type.Lower(); - wxRegKey *key = new wxRegKey(_T("HKEY_CURRENT_USER\\Software\\Classes\\.") + type); - if (!key->Exists()) { - delete key; - return false; - } - else { - wxString value; - key->QueryValue(_T(""),value); - delete key; - return (value == _T("Aegisub")); - } -} - - -/////////////// -// Event table -BEGIN_EVENT_TABLE(DialogAssociations, wxDialog) - EVT_BUTTON(wxID_OK,DialogAssociations::OnOK) -END_EVENT_TABLE() - - - -/// @brief OK pressed -/// @param event -/// -void DialogAssociations::OnOK(wxCommandEvent &event) { - if (ListBox->IsChecked(0)) AssociateType(_T("ass")); - if (ListBox->IsChecked(1)) AssociateType(_T("ssa")); - if (ListBox->IsChecked(2)) AssociateType(_T("srt")); - if (ListBox->IsChecked(3)) AssociateType(_T("sub")); - if (ListBox->IsChecked(4)) AssociateType(_T("ttxt")); - event.Skip(); -} - - diff --git a/aegisub/src/dialog_associations.h b/aegisub/src/dialog_associations.h deleted file mode 100644 index 5ffbb7dd8..000000000 --- a/aegisub/src/dialog_associations.h +++ /dev/null @@ -1,71 +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 Project http://www.aegisub.org/ -// -// $Id$ - -/// @file dialog_associations.h -/// @see dialog_associations.cpp -/// @ingroup configuration_ui -/// - - - - -/////////// -// Headers -#ifndef AGI_PRE -#include -#include -#include -#endif - - -/// DOCME -/// @class DialogAssociations -/// @brief DOCME -/// -/// DOCME -class DialogAssociations : public wxDialog { -private: - - /// DOCME - wxCheckListBox *ListBox; - void OnOK(wxCommandEvent &event); - -public: - DialogAssociations(wxWindow *parent); - ~DialogAssociations(); - - static bool CheckAssociation(wxString type); - static void AssociateType(wxString type); - - DECLARE_EVENT_TABLE() -}; - - diff --git a/aegisub/src/frame_main.cpp b/aegisub/src/frame_main.cpp index 824f5b22d..df5499ae2 100644 --- a/aegisub/src/frame_main.cpp +++ b/aegisub/src/frame_main.cpp @@ -541,9 +541,6 @@ void FrameMain::InitMenu() { viewMenu = new wxMenu(); AppendBitmapMenuItem(viewMenu,Menu_View_Language, _T("&Language..."), _("Select Aegisub interface language"), GETIMAGE(languages_menu_16)); AppendBitmapMenuItem(viewMenu,Menu_Tools_Options, MakeHotkeyText(_("&Options..."), _T("Options")), _("Configure Aegisub"), GETIMAGE(options_button_16)); -#ifdef WIN32 - AppendBitmapMenuItem(viewMenu,Menu_View_Associations, _("&Associations..."), _("Associate file types with Aegisub"), GETIMAGE(blank_button_16)); -#endif viewMenu->AppendSeparator(); viewMenu->AppendRadioItem(Menu_View_Subs, _("Subs Only View"), _("Display subtitles only")); viewMenu->AppendRadioItem(Menu_View_Video, _("Video+Subs View"), _("Display video and subtitles only")); diff --git a/aegisub/src/frame_main.h b/aegisub/src/frame_main.h index 674ad972f..d3d81c69f 100644 --- a/aegisub/src/frame_main.h +++ b/aegisub/src/frame_main.h @@ -250,7 +250,6 @@ private: #endif void OnChooseLanguage (wxCommandEvent &event); - void OnPickAssociations (wxCommandEvent &event); void OnViewStandard (wxCommandEvent &event); void OnViewVideo (wxCommandEvent &event); void OnViewAudio (wxCommandEvent &event); @@ -590,9 +589,6 @@ enum { /// DOCME Menu_View_Language, - /// DOCME - Menu_View_Associations, - /// DOCME Menu_View_Standard, diff --git a/aegisub/src/frame_main_events.cpp b/aegisub/src/frame_main_events.cpp index a6d70a343..2044ec76d 100644 --- a/aegisub/src/frame_main_events.cpp +++ b/aegisub/src/frame_main_events.cpp @@ -58,7 +58,6 @@ #endif #include "charset_conv.h" #include "dialog_about.h" -#include "dialog_associations.h" #include "dialog_attachments.h" #include "dialog_automation.h" #include "dialog_dummy_video.h" @@ -202,7 +201,6 @@ BEGIN_EVENT_TABLE(FrameMain, wxFrame) EVT_MENU(Menu_Help_About, FrameMain::OnAbout) 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_Audio, FrameMain::OnViewAudio) EVT_MENU(Menu_View_Video, FrameMain::OnViewVideo) @@ -1926,18 +1924,6 @@ void FrameMain::OnChooseLanguage (wxCommandEvent &event) { -/// @brief Pick associations -/// @param event -/// -void FrameMain::OnPickAssociations(wxCommandEvent &event) { -#ifdef WIN32 - DialogAssociations diag(NULL); - diag.ShowModal(); -#endif -} - - - /// @brief View standard /// @param event /// @return diff --git a/aegisub/src/main.cpp b/aegisub/src/main.cpp index e792cfdce..65dc18e95 100644 --- a/aegisub/src/main.cpp +++ b/aegisub/src/main.cpp @@ -60,7 +60,6 @@ #include "auto4_base.h" #endif #include "charset_conv.h" -#include "dialog_associations.h" #include "export_framerate.h" #include "frame_main.h" #include "hotkeys.h" @@ -228,13 +227,6 @@ bool AegisubApp::OnInit() { StartupLog(_T("Prepare export filters")); AssExportFilterChain::PrepareFilters(); - // Set association -#ifndef _DEBUG - StartupLog(_T("Install file type associations")); - if (!Options.AsBool(_T("Local config"))) - RegistryAssociate(); -#endif - // Get parameter subs StartupLog(_T("Parse command line")); wxArrayString subs; @@ -448,56 +440,6 @@ int AegisubApp::OnRun() { -/// @brief Registry program to filetypes -/// @note On UNIX this is handled by desktop/. -/// @todo Add something for OSX? -void AegisubApp::RegistryAssociate () { -#if defined(__WINDOWS__) - // Command to open with this - wxString command; - wxStandardPaths stand; - wxString fullPath = stand.GetExecutablePath(); - command = _T("\"") + fullPath + _T("\" \"%1\""); - - // Main program association - wxRegKey *key = new wxRegKey(_T("HKEY_CURRENT_USER\\Software\\Classes\\Aegisub")); - if (!key->Exists()) key->Create(); - key->SetValue(_T(""),_T("Aegisub Subtitle Script")); - delete key; - key = new wxRegKey(_T("HKEY_CURRENT_USER\\Software\\Classes\\Aegisub\\DefaultIcon")); - if (!key->Exists()) key->Create(); - key->SetValue(_T(""),fullPath); - delete key; - key = new wxRegKey(_T("HKEY_CURRENT_USER\\Software\\Classes\\Aegisub\\Shell")); - if (!key->Exists()) key->Create(); - key->SetValue(_T(""),_T("open")); - delete key; - key = new wxRegKey(_T("HKEY_CURRENT_USER\\Software\\Classes\\Aegisub\\Shell\\Open")); - if (!key->Exists()) key->Create(); - key->SetValue(_T(""),_T("&Open with Aegisub")); - delete key; - key = new wxRegKey(_T("HKEY_CURRENT_USER\\Software\\Classes\\Aegisub\\Shell\\Open\\Command")); - if (!key->Exists()) key->Create(); - key->SetValue(_T(""),command); - delete key; - - // Check associations - if (Options.AsBool(_T("Show associations"))) { - bool gotAll = DialogAssociations::CheckAssociation(_T("ass")) && DialogAssociations::CheckAssociation(_T("ssa")) && - DialogAssociations::CheckAssociation(_T("srt")) && DialogAssociations::CheckAssociation(_T("sub")) && - DialogAssociations::CheckAssociation(_T("ttxt")); - if (!gotAll) { - DialogAssociations diag(NULL); - diag.ShowModal(); - Options.SetBool(_T("Show associations"),false); - Options.Save(); - } - } -#endif -} - - - /// @brief Open URL /// @param url /// diff --git a/aegisub/src/main.h b/aegisub/src/main.h index 1dda60e50..eef8b70d2 100644 --- a/aegisub/src/main.h +++ b/aegisub/src/main.h @@ -90,9 +90,6 @@ public: static AegisubApp* Get() { return (AegisubApp*) wxTheApp; } static void OpenURL(wxString url); - void RegistryAssociate(); - void AssociateType(wxString type); - bool OnInit(); int OnExit(); int OnRun(); diff --git a/aegisub/src/options.cpp b/aegisub/src/options.cpp index 0fda9fd76..0ce82154e 100644 --- a/aegisub/src/options.cpp +++ b/aegisub/src/options.cpp @@ -348,7 +348,6 @@ void OptionsManager::LoadDefaults(bool onlyDefaults,bool doOverride) { SetBool(_T("Shift Times Direction"),true); SetInt(_T("Tips current"),0); - SetBool(_T("Show associations"),true,1700); SetBool(_T("Maximized"),false); SetBool(_T("Find Match Case"),false);