From b399b95c674157b268c56b11064ad4874fde0ec7 Mon Sep 17 00:00:00 2001 From: eddyg Date: Mon, 27 Aug 2007 03:46:08 +0000 Subject: Added support to the mac gui for auto-selecting subtitles if the main audio language is not in your native language (via the new preferences box). git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@872 b64f7644-9d1e-0410-96f1-a4d463321fa5 --- macosx/Controller.mm | 32 ++++++++++++++++++++++++++++++-- 1 file changed, 30 insertions(+), 2 deletions(-) (limited to 'macosx/Controller.mm') diff --git a/macosx/Controller.mm b/macosx/Controller.mm index 4e281b388..18aa65d1c 100644 --- a/macosx/Controller.mm +++ b/macosx/Controller.mm @@ -6,6 +6,7 @@ #include "Controller.h" #include "a52dec/a52.h" +#include "lang.h" #import "HBOutputPanelController.h" #import "HBPreferencesController.h" @@ -1421,7 +1422,25 @@ list = hb_get_titles( fHandle ); job->grayscale = ( [fVidGrayscaleCheck state] == NSOnState ); - + if ([[NSUserDefaults standardUserDefaults] boolForKey:@"PreferredLanguageSubtitles"] == 1) + { + /* + * This user prefers to have subtitles when the default language + * is not their own. So set the native language seleector to their + * language. + * + * Unfortunatly for us the language in the GUI is not in the + * right ISO-639-3 format that native_language expects. + */ + NSString * language = [[NSUserDefaults standardUserDefaults] stringForKey:@"DefaultLanguage"]; + iso639_lang_t *lang_code = lang_for_english( [ language cString ] ); + if( lang_code ) + { + job->native_language = lang_code->iso639_2; + } else { + job->native_language = NULL; + } + } /* Subtitle settings */ job->subtitle = [fSubPopUp indexOfSelectedItem] - 2; @@ -1869,7 +1888,16 @@ list = hb_get_titles( fHandle ); [self addAllAudioTracksToPopUp: fAudLang2PopUp]; /* search for the first instance of our prefs default language for track 1, and set track 2 to "none" */ NSString * audioSearchPrefix = [[NSUserDefaults standardUserDefaults] stringForKey:@"DefaultLanguage"]; - [self selectAudioTrackInPopUp: fAudLang1PopUp searchPrefixString: audioSearchPrefix selectIndexIfNotFound: 1]; + if ([[NSUserDefaults standardUserDefaults] boolForKey:@"PreferredLanguageSubtitles"] != 1) + { + [self selectAudioTrackInPopUp: fAudLang1PopUp searchPrefixString: audioSearchPrefix selectIndexIfNotFound: 1]; + } else { + /* + * We prefer to have subtitles and not change the audio language from the + * default (first one). + */ + [self selectAudioTrackInPopUp: fAudLang1PopUp searchPrefixString: NULL selectIndexIfNotFound: 1]; + } [self selectAudioTrackInPopUp: fAudLang2PopUp searchPrefixString: NULL selectIndexIfNotFound: 0]; /* changing the title may have changed the audio channels on offer, */ -- cgit v1.2.3