]> git.sesse.net Git - vlc/blobdiff - modules/gui/macosx/simple_prefs.m
Removed the 'fetch-meta' setting as it isn't present anymore
[vlc] / modules / gui / macosx / simple_prefs.m
index 5fd56bb2798dea61061e7736f7c972f0a0296d2b..89cbd6da3daba60e263199568a911f30851f636e 100644 (file)
@@ -48,10 +48,10 @@ static VLCSimplePrefs *_o_sharedInstance = nil;
     if (_o_sharedInstance) {
         [self dealloc];
     } else {
-        p_intf = VLCIntf;
         _o_sharedInstance = [super init];
+        p_intf = VLCIntf;
     }
-    
+
     return _o_sharedInstance;
 }
 
@@ -105,7 +105,6 @@ static VLCSimplePrefs *_o_sharedInstance = nil;
     [o_sprefs_win setToolbar: o_sprefs_toolbar];
     
     /* setup useful stuff */
-    /* TODO: hard-code this instead of one-the-run generation */
     o_hotkeysNonUseableKeys = [[NSArray arrayWithObjects:
                                 [NSNumber numberWithInt: KEY_MODIFIER_COMMAND|'c'],
                                 [NSNumber numberWithInt: KEY_MODIFIER_COMMAND|'x'],
@@ -127,7 +126,6 @@ static VLCSimplePrefs *_o_sharedInstance = nil;
                                 [NSNumber numberWithInt: KEY_MODIFIER_COMMAND|'2'],
                                 [NSNumber numberWithInt: KEY_MODIFIER_COMMAND|'3'],
                                 [NSNumber numberWithInt: KEY_MODIFIER_COMMAND|'m'],
-                                [NSNumber numberWithInt: KEY_MODIFIER_COMMAND|'q'],
                                 [NSNumber numberWithInt: KEY_MODIFIER_COMMAND|'w'],
                                 [NSNumber numberWithInt: KEY_MODIFIER_COMMAND|KEY_MODIFIER_SHIFT|'w'],
                                 [NSNumber numberWithInt: KEY_MODIFIER_COMMAND|KEY_MODIFIER_SHIFT|'c'],
@@ -243,8 +241,10 @@ static VLCSimplePrefs *_o_sharedInstance = nil;
     [o_input_bandwidth_ckb setTitle: _NS("Bandwidth limiter")];
     [o_input_cachelevel_txt setStringValue: _NS("Default Caching Level")];
     [o_input_caching_box setTitle: _NS("Caching")];
+    [o_input_cachelevel_custom_txt setStringValue: _NS("Use the complete preferences to configure custom caching values for each access module.")];
     [o_input_dump_ckb setTitle: _NS("Dump")];
     [o_input_httpproxy_txt setStringValue: _NS("HTTP Proxy")];
+    [o_input_httpproxypwd_txt setStringValue: _NS("Password for HTTP Proxy")];
     [o_input_mux_box setTitle: _NS("Codecs / Muxers")];
     [o_input_net_box setTitle: _NS("Network")];
     [o_input_postproc_txt setStringValue: _NS("Post-Processing Quality")];
@@ -258,7 +258,6 @@ static VLCSimplePrefs *_o_sharedInstance = nil;
     [o_intf_embedded_ckb setTitle: _NS("Add controls to the video window")];
     [o_intf_fspanel_ckb setTitle: _NS("Show Fullscreen Controller")];
     [o_intf_lang_txt setStringValue: _NS("Language")];
-    [o_intf_meta_ckb setTitle: _NS("Fetch the metadata from the Internet")];
     [o_intf_network_box setTitle: _NS("Privacy / Network Interaction")];
     
     /* Subtitles and OSD */
@@ -274,14 +273,6 @@ static VLCSimplePrefs *_o_sharedInstance = nil;
     [o_osd_osd_box setTitle: _NS("On Screen Display")];
     [o_osd_osd_ckb setTitle: _NS("Enable OSD")];
 
-    /* generic stuff */
-    [[o_sprefs_basicFull_matrix cellAtRow: 0 column: 0] setStringValue: _NS("Basic")];
-    [[o_sprefs_basicFull_matrix cellAtRow: 0 column: 1] setStringValue: _NS("All")];
-    [o_sprefs_cancel_btn setTitle: _NS("Cancel")];
-    [o_sprefs_reset_btn setTitle: _NS("Reset Preferences")];
-    [o_sprefs_save_btn setTitle: _NS("Save")];
-    [o_sprefs_win setTitle: _NS("Preferences")];
-
     /* video */
     [o_video_black_ckb setTitle: _NS("Black screens in Fullscreen mode")];
     [o_video_device_txt setStringValue: _NS("Display device")];
@@ -297,6 +288,14 @@ static VLCSimplePrefs *_o_sharedInstance = nil;
     [o_video_snap_format_txt setStringValue: _NS("Format")];
     [o_video_snap_prefix_txt setStringValue: _NS("Prefix")];
     [o_video_snap_seqnum_ckb setTitle: _NS("Sequential numbering")];
+    
+    /* generic stuff */
+    [[o_sprefs_basicFull_matrix cellAtRow: 0 column: 0] setStringValue: _NS("Basic")];
+    [[o_sprefs_basicFull_matrix cellAtRow: 0 column: 1] setStringValue: _NS("All")];
+    [o_sprefs_cancel_btn setTitle: _NS("Cancel")];
+    [o_sprefs_reset_btn setTitle: _NS("Reset Preferences")];
+    [o_sprefs_save_btn setTitle: _NS("Save")];
+    [o_sprefs_win setTitle: _NS("Preferences")];
 }
 
 - (void)resetControls
@@ -356,13 +355,15 @@ static VLCSimplePrefs *_o_sharedInstance = nil;
     vlc_list_release( p_list ); \
     [object setToolTip: _NS(p_item->psz_longtext)]
 
+    [[o_sprefs_basicFull_matrix cellAtRow:0 column:0] setState: NSOnState];
+    [[o_sprefs_basicFull_matrix cellAtRow:0 column:1] setState: NSOffState];
+    
     /**********************
      * interface settings *
      **********************/
     SetupStringList( o_intf_lang_pop, "language" );
     SetupIntList( o_intf_art_pop, "album-art" );
 
-    [o_intf_meta_ckb setState: config_GetInt( p_intf, "fetch-meta" )];
     [o_intf_fspanel_ckb setState: config_GetInt( p_intf, "macosx-fspanel" )];
     [o_intf_embedded_ckb setState: config_GetInt( p_intf, "embedded-video" )];
 
@@ -392,12 +393,20 @@ static VLCSimplePrefs *_o_sharedInstance = nil;
     if( module_Exists( p_intf, "audioscrobbler" ) )
     {
         [o_audio_lastuser_fld setStringValue: [NSString stringWithUTF8String: config_GetPsz( p_intf, "lastfm-username" )]];
-        [o_audio_lastpwd_fld setStringValue: [NSString stringWithUTF8String: config_GetPsz( p_intf, "lastfm-password" )]];
+        [o_audio_lastpwd_sfld setStringValue: [NSString stringWithUTF8String: config_GetPsz( p_intf, "lastfm-password" )]];
 
         if( config_ExistIntf( VLC_OBJECT( p_intf ), "audioscrobbler" ) )
+        {
             [o_audio_last_ckb setState: NSOnState];
+            [o_audio_lastuser_fld setEnabled: YES];
+            [o_audio_lastpwd_sfld setEnabled: YES];
+        }
         else
+        {
             [o_audio_last_ckb setState: NSOffState];
+            [o_audio_lastuser_fld setEnabled: NO];
+            [o_audio_lastpwd_sfld setEnabled: NO];
+        }
     }
     else
         [o_audio_last_ckb setEnabled: NO];
@@ -424,7 +433,7 @@ static VLCSimplePrefs *_o_sharedInstance = nil;
         [o_video_device_pop addItemWithTitle: 
          [NSString stringWithFormat: @"%@ %i (%ix%i)", _NS("Screen"), i+1,
                    (int)s_rect.size.width, (int)s_rect.size.height]];
-        [[o_video_device_pop lastItem] setTag: [[[NSScreen screens] objectAtIndex: i] displayID]];
+        [[o_video_device_pop lastItem] setTag: (int)[[[NSScreen screens] objectAtIndex: i] displayID]];
         i++;
     }
     [o_video_device_pop selectItemAtIndex: 0];
@@ -450,6 +459,8 @@ static VLCSimplePrefs *_o_sharedInstance = nil;
     [o_input_serverport_fld setIntValue: config_GetInt( p_intf, "server-port" )];
     if( config_GetPsz( p_intf, "http-proxy" ) != NULL )
         [o_input_httpproxy_fld setStringValue: [NSString stringWithUTF8String: config_GetPsz( p_intf, "http-proxy" )]];
+    if( config_GetPsz( p_intf, "http-proxy" ) != NULL )
+        [o_input_httpproxypwd_sfld setStringValue: [NSString stringWithUTF8String: config_GetPsz( p_intf, "http-proxy-pwd" )]];
     [o_input_postproc_fld setIntValue: config_GetInt( p_intf, "ffmpeg-pp-q" )];
 
     SetupIntList( o_input_avi_pop, "avi-index" );
@@ -505,9 +516,15 @@ static VLCSimplePrefs *_o_sharedInstance = nil;
         TestCaCi( "realrtsp-caching", 10 );
     TestCaCi( "mms-caching", 19 );
     if( b_cache_equal )
+    {
         [o_input_cachelevel_pop selectItemWithTag: i_cache];
+        [o_input_cachelevel_custom_txt setHidden: YES];
+    }
     else
+    {
         [o_input_cachelevel_pop selectItemWithTitle: _NS("Custom")];
+        [o_input_cachelevel_custom_txt setHidden: NO];
+    }
 
     /*********************
      * subtitle settings *
@@ -594,8 +611,9 @@ static VLCSimplePrefs *_o_sharedInstance = nil;
     else if( sender == o_sprefs_basicFull_matrix )
     {
         [o_sprefs_win orderOut: self];
+        [[o_sprefs_basicFull_matrix cellAtRow:0 column:0] setState: NSOffState];
+        [[o_sprefs_basicFull_matrix cellAtRow:0 column:1] setState: NSOnState];
         [[[VLCMain sharedInstance] getPreferences] showPrefs];
-        [self resetControls];
     }
     else
         msg_Err( p_intf, "unknown buttonAction sender" );
@@ -664,13 +682,12 @@ static VLCSimplePrefs *_o_sharedInstance = nil;
         SaveStringList( o_intf_lang_pop, "language" );
         SaveIntList( o_intf_art_pop, "album-art" );
 
-        config_PutInt( p_intf, "fetch-meta", [o_intf_meta_ckb state] );
         config_PutInt( p_intf, "macosx-fspanel", [o_intf_fspanel_ckb state] );
         config_PutInt( p_intf, "embedded-video", [o_intf_embedded_ckb state] );
 
         /* okay, let's save our changes to vlcrc */
         i = config_SaveConfigFile( p_intf, "main" );
-        i = config_SaveConfigFile( p_intf, "macosx" );
+        i = i + config_SaveConfigFile( p_intf, "macosx" );
 
         if( i != 0 )
         {
@@ -717,15 +734,18 @@ static VLCSimplePrefs *_o_sharedInstance = nil;
 
         /* Last.FM is optional */
         if( module_Exists( p_intf, "audioscrobbler" ) )
-        {    
+        {   
+            [o_audio_last_ckb setEnabled: YES];
             if( [o_audio_last_ckb state] == NSOnState )
                 config_AddIntf( VLC_OBJECT( p_intf ), "audioscrobbler" );
             else
                 config_RemoveIntf( VLC_OBJECT( p_intf ), "audioscrobbler" );
 
             config_PutPsz( p_intf, "lastfm-username", [[o_audio_lastuser_fld stringValue] UTF8String] );
-            config_PutPsz( p_intf, "lastfm-password", [[o_audio_lastuser_fld stringValue] UTF8String] );
+            config_PutPsz( p_intf, "lastfm-password", [[o_audio_lastpwd_sfld stringValue] UTF8String] );
         }
+        else
+            [o_audio_last_ckb setEnabled: NO];
 
         /* okay, let's save our changes to vlcrc */
         i = config_SaveConfigFile( p_intf, "main" );
@@ -779,6 +799,7 @@ static VLCSimplePrefs *_o_sharedInstance = nil;
     {
         config_PutInt( p_intf, "server-port", [o_input_serverport_fld intValue] );
         config_PutPsz( p_intf, "http-proxy", [[o_input_httpproxy_fld stringValue] UTF8String] );
+        config_PutPsz( p_intf, "http-proxy-pwd", [[o_input_httpproxypwd_sfld stringValue] UTF8String] );
         config_PutInt( p_intf, "ffmpeg-pp-q", [o_input_postproc_fld intValue] );
 
         SaveIntList( o_input_avi_pop, "avi-index" );
@@ -955,10 +976,24 @@ static VLCSimplePrefs *_o_sharedInstance = nil;
 {
     if( sender == o_audio_vol_sld )
         [o_audio_vol_fld setIntValue: [o_audio_vol_sld intValue]];
-    
+
     if( sender == o_audio_vol_fld )
         [o_audio_vol_sld setIntValue: [o_audio_vol_fld intValue]];
-    
+
+    if( sender == o_audio_last_ckb )
+    {
+        if( [o_audio_last_ckb state] == NSOnState )
+        {
+            [o_audio_lastpwd_sfld setEnabled: YES];
+            [o_audio_lastuser_fld setEnabled: YES];
+        }
+        else
+        {
+            [o_audio_lastpwd_sfld setEnabled: NO];
+            [o_audio_lastuser_fld setEnabled: NO];
+        }
+    }
+
     b_audioSettingChanged = YES;
 }
 
@@ -1044,6 +1079,14 @@ static VLCSimplePrefs *_o_sharedInstance = nil;
 
 - (IBAction)inputSettingChanged:(id)sender
 {
+    if( sender == o_input_cachelevel_pop )
+    {
+        if( [[[o_input_cachelevel_pop selectedItem] title] isEqualToString: _NS("Custom")] )
+            [o_input_cachelevel_custom_txt setHidden: NO];
+        else
+            [o_input_cachelevel_custom_txt setHidden: YES];
+    }
+
     b_inputSettingChanged = YES;
 }
 
@@ -1151,7 +1194,7 @@ static VLCSimplePrefs *_o_sharedInstance = nil;
         if( i_returnValue != NSNotFound )
             [o_hotkeys_change_taken_lbl setStringValue: [NSString stringWithFormat:
                                                          _NS("This combination is already taken by \"%@\"."),
-                                                         [self OSXKeyToString:[[o_hotkeyDescriptions objectAtIndex: i_returnValue] intValue]]]];
+                                                         [o_hotkeyDescriptions objectAtIndex: i_returnValue]]];
         else
             [o_hotkeys_change_taken_lbl setStringValue: @""];