]> git.sesse.net Git - vlc/commitdiff
* retrieve the settings for the logo and time filters (there seems to be bug @ positi...
authorFelix Paul Kühne <fkuehne@videolan.org>
Sun, 4 Dec 2005 21:33:57 +0000 (21:33 +0000)
committerFelix Paul Kühne <fkuehne@videolan.org>
Sun, 4 Dec 2005 21:33:57 +0000 (21:33 +0000)
* removed the controls used for fixed positioning, because they conflict with the relative controls and aren't used by most of the users anyway
* fixed 10.3 compatiblity

still TODO:
- implement the logo and time controls completely
- l10n
- FIXMEs

extras/MacOSX/Resources/English.lproj/SFilters.nib/classes.nib
extras/MacOSX/Resources/English.lproj/SFilters.nib/keyedobjects.nib
modules/gui/macosx/sfilters.h
modules/gui/macosx/sfilters.m

index c06bdff6d51aaa8301a76571eb65d31472bb1343..d666008043a88d6daf9d94a98a7d3cb64df80b4c 100644 (file)
@@ -2,14 +2,7 @@
     IBClasses = (
         {CLASS = FirstResponder; LANGUAGE = ObjC; SUPERCLASS = NSObject; }, 
         {
-            ACTIONS = {
-                enableFilter = id; 
-                "logo_selectFile" = id; 
-                otherPositionForLogo = id; 
-                otherPositionForMarq = id; 
-                otherPositionForTime = id; 
-                propertyChanged = id; 
-            }; 
+            ACTIONS = {enableFilter = id; "logo_selectFile" = id; propertyChanged = id; }; 
             CLASS = VLCsFilters; 
             LANGUAGE = ObjC; 
             OUTLETS = {
                 "o_logo_image_lbl" = id; 
                 "o_logo_opaque_lbl" = id; 
                 "o_logo_opaque_sld" = id; 
-                "o_logo_pos_fix_X_fld" = id; 
-                "o_logo_pos_fix_X_lbl" = id; 
-                "o_logo_pos_fix_Y_fld" = id; 
-                "o_logo_pos_fix_Y_lbl" = id; 
-                "o_logo_pos_fix_btn" = id; 
                 "o_logo_pos_lbl" = id; 
-                "o_logo_pos_matrix" = id; 
-                "o_logo_pos_rel_btn" = id; 
                 "o_logo_pos_rel_pop" = id; 
                 "o_marq_color_lbl" = id; 
                 "o_marq_color_pop" = id; 
                 "o_marq_marq_lbl" = id; 
                 "o_marq_opaque_lbl" = id; 
                 "o_marq_opaque_sld" = id; 
-                "o_marq_pos_fix_X_fld" = id; 
-                "o_marq_pos_fix_X_lbl" = id; 
-                "o_marq_pos_fix_Y_fld" = id; 
-                "o_marq_pos_fix_Y_lbl" = id; 
-                "o_marq_pos_fix_btn" = id; 
                 "o_marq_pos_lbl" = id; 
-                "o_marq_pos_matrix" = id; 
-                "o_marq_pos_rel_btn" = id; 
                 "o_marq_pos_rel_pop" = id; 
                 "o_marq_size_inPx_lbl" = id; 
                 "o_marq_size_lbl" = id; 
                 "o_time_enabled_ckb" = id; 
                 "o_time_opaque_lbl" = id; 
                 "o_time_opaque_sld" = id; 
-                "o_time_pos_fix_X_fld" = id; 
-                "o_time_pos_fix_X_lbl" = id; 
-                "o_time_pos_fix_Y_fld" = id; 
-                "o_time_pos_fix_Y_lbl" = id; 
-                "o_time_pos_fix_btn" = id; 
                 "o_time_pos_lbl" = id; 
-                "o_time_pos_matrix" = id; 
-                "o_time_pos_rel_btn" = id; 
                 "o_time_pos_rel_pop" = id; 
                 "o_time_size_inPx_lbl" = id; 
                 "o_time_size_lbl" = id; 
index 6fffb093b97a8a7ecdb86c09dc45bc5869ec8811..6793a8a2c2054611e260a12040025386e512c906 100644 (file)
Binary files a/extras/MacOSX/Resources/English.lproj/SFilters.nib/keyedobjects.nib and b/extras/MacOSX/Resources/English.lproj/SFilters.nib/keyedobjects.nib differ
index e922b4268ba622851c3345ff501b3fc6d3488652..596f4fec2e2d8a5be39e5393ac6d7384a67c9416 100644 (file)
@@ -29,6 +29,7 @@
     /* window stuff */
     IBOutlet id o_sfilter_tabView;
     IBOutlet id o_sfilter_win;
+    IBOutlet id o_sfilter_saveSettings_ckb;
 
     /* logo section */
     IBOutlet id o_logo_enabled_ckb;
     IBOutlet id o_logo_image_lbl;
     IBOutlet id o_logo_opaque_lbl;
     IBOutlet id o_logo_opaque_sld;
-    IBOutlet id o_logo_pos_fix_btn;
-    IBOutlet id o_logo_pos_fix_X_fld;
-    IBOutlet id o_logo_pos_fix_X_lbl;
-    IBOutlet id o_logo_pos_fix_Y_fld;
-    IBOutlet id o_logo_pos_fix_Y_lbl;
     IBOutlet id o_logo_pos_lbl;
-    IBOutlet id o_logo_pos_rel_btn;
     IBOutlet id o_logo_pos_rel_pop;
-    IBOutlet id o_logo_pos_matrix;
     
     /* marquee section */
     IBOutlet id o_marq_enabled_ckb;
     IBOutlet id o_marq_marq_lbl;
     IBOutlet id o_marq_opaque_lbl;
     IBOutlet id o_marq_opaque_sld;
-    IBOutlet id o_marq_pos_fix_btn;
-    IBOutlet id o_marq_pos_fix_X_fld;
-    IBOutlet id o_marq_pos_fix_X_lbl;
-    IBOutlet id o_marq_pos_fix_Y_fld;
-    IBOutlet id o_marq_pos_fix_Y_lbl;
     IBOutlet id o_marq_pos_lbl;
-    IBOutlet id o_marq_pos_rel_btn;
     IBOutlet id o_marq_pos_rel_pop;
     IBOutlet id o_marq_size_inPx_lbl;
     IBOutlet id o_marq_size_lbl;
@@ -69,7 +57,6 @@
     IBOutlet id o_marq_tmOut_fld;
     IBOutlet id o_marq_tmOut_lbl;
     IBOutlet id o_marq_tmOut_ms_lbl;
-    IBOutlet id o_marq_pos_matrix;
 
     /* time section */
     IBOutlet id o_time_enabled_ckb;
     IBOutlet id o_time_color_pop;
     IBOutlet id o_time_opaque_lbl;
     IBOutlet id o_time_opaque_sld;
-    IBOutlet id o_time_pos_fix_btn;
-    IBOutlet id o_time_pos_fix_X_fld;
-    IBOutlet id o_time_pos_fix_X_lbl;
-    IBOutlet id o_time_pos_fix_Y_fld;
-    IBOutlet id o_time_pos_fix_Y_lbl;
     IBOutlet id o_time_pos_lbl;
-    IBOutlet id o_time_pos_rel_btn;
     IBOutlet id o_time_pos_rel_pop;
     IBOutlet id o_time_size_inPx_lbl;
     IBOutlet id o_time_size_lbl;
     IBOutlet id o_time_size_pop;
     IBOutlet id o_time_stamp_fld;
     IBOutlet id o_time_stamp_lbl;
-    IBOutlet id o_time_pos_matrix;
     
     BOOL o_config_changed;
     BOOL o_save_settings;
 - (IBAction)logo_selectFile:(id)sender;
 - (IBAction)propertyChanged:(id)sender;
 - (IBAction)enableFilter:(id)sender;
-- (IBAction)otherPositionForLogo:(id)sender;
-- (IBAction)otherPositionForMarq:(id)sender;
-- (IBAction)otherPositionForTime:(id)sender;
 
 - (void)showAsPanel;
 - (void)initStrings;
index e9f2b35ed9b9d80ee6a586904cd565cd8c8bee77..8082f93e95a13d5daf9d192d5a02edb88d8eb6aa 100644 (file)
 
 /* TODO:
     - fix all FIXMEs
-    - if a vout closes and another is opened, the marquee is shown at marq-x /
-      marq-y regardless of the fact whether the user wants it to be positioned
-      fixed or not. This needs fixing in marq.c and a new global config-variable
-      - That will probably happen with logo and time as well.
     - implement initStrings
     - check for memory leaks
     - save the preferences, if requested
-    - fix 10.3 compatibility
+    - fix stupid compilation warning
 */
 
 @implementation VLCsFilters
@@ -211,7 +207,7 @@ static VLCsFilters *_o_sharedInstance = nil;
 
     intf_thread_t * p_intf = VLCIntf;
 
-    /* retrieve the marquee settings from core... */
+    /* retrieve the marquee settings */
     int x = 0;
     int tempInt = config_GetInt( p_intf, "marq-color" );
     while( strtol([[[o_colors objectAtIndex:x] objectAtIndex:1] UTF8String], \
@@ -229,12 +225,19 @@ static VLCsFilters *_o_sharedInstance = nil;
     [o_marq_marq_fld setStringValue: [NSString stringWithUTF8String: \
         config_GetPsz( p_intf, "marq-marquee" )]];
     [o_marq_opaque_sld setIntValue: config_GetInt( p_intf, "marq-opacity")];
-    [o_marq_pos_fix_X_fld setStringValue: [[NSNumber numberWithInt: \
-        config_GetInt( p_intf, "marq-x")] stringValue]];
-    [o_marq_pos_fix_Y_fld setStringValue: [[NSNumber numberWithInt: \
-        config_GetInt( p_intf, "marq-y")] stringValue]];
-    [o_marq_pos_rel_pop selectItemWithTag: \
-        config_GetInt( p_intf, "marq-position" )];
+    x = 0;
+    tempInt = config_GetInt( p_intf, "marq-position" );
+    while( tempInt != [[o_marq_pos_rel_pop itemAtIndex:x] tag] )
+    {
+        x = (x + 1);
+        
+        if( x >= [o_marq_pos_rel_pop numberOfItems] )
+        {
+            x = 0;
+            return;
+        }
+    }
+    [o_marq_pos_rel_pop selectItemAtIndex:x];
     x = 0;
     tempInt = config_GetInt( p_intf, "marq-size" );
     while( [[[o_marq_size_pop itemAtIndex: x] title] intValue] != tempInt )
@@ -249,8 +252,76 @@ static VLCsFilters *_o_sharedInstance = nil;
     [o_marq_tmOut_fld setStringValue: [[NSNumber numberWithInt: \
         config_GetInt( p_intf, "marq-timeout" )] stringValue]];
     
-    // FIXME:  retrieve the proper values for logo and time from core, too!
-
+    /* retrieve the time settings */
+    x = 0;
+    tempInt = config_GetInt( p_intf, "time-color" );
+    while( strtol([[[o_colors objectAtIndex:x] objectAtIndex:1] UTF8String], \
+        NULL, 0) != tempInt )
+    {
+        x = (x + 1);
+        
+        if( x >= [o_time_color_pop numberOfItems] )
+        {
+            x = 0;
+            return;
+        }
+    }
+    [o_time_color_pop selectItemAtIndex: x];
+    [o_time_stamp_fld setStringValue: [NSString stringWithUTF8String: \
+        config_GetPsz( p_intf, "time-format" )]];
+    [o_time_opaque_sld setIntValue: config_GetInt( p_intf, "time-opacity")];
+    x = 0;
+    tempInt = config_GetInt( p_intf, "time-size" );
+    while( [[[o_time_size_pop itemAtIndex: x] title] intValue] != tempInt )
+        x = (x + 1);
+        
+        if( x >= [o_time_size_pop numberOfItems] )
+        {
+            x = 0;
+            return;
+        }
+    [o_time_size_pop selectItemAtIndex: x];
+    x = 0;
+    tempInt = config_GetInt( p_intf, "time-position" );
+    while( tempInt != [[o_time_pos_rel_pop itemAtIndex:x] tag] )
+    {
+        x = (x + 1);
+        
+        if( x >= [o_time_pos_rel_pop numberOfItems] )
+        {
+            x = 0;
+            return;
+        }
+    }
+    
+    /* retrieve the logo settings */
+    [o_logo_opaque_sld setIntValue: config_GetInt( p_intf, "logo-transparency")];
+    /* in case that no path has been saved yet */
+    NSString * tempString = [[NSString alloc] initWithUTF8String: \
+        config_GetPsz( p_intf, "logo-file" )];
+    if( [tempString length] == 0 )
+    {
+        [o_logo_image_fld setStringValue: @""];
+    }
+    else
+    {
+        [o_logo_image_fld setStringValue: tempString ];
+    }
+    [tempString release];
+    x = 0;
+    tempInt = config_GetInt( p_intf, "logo-position" );
+    while( tempInt != [[o_logo_pos_rel_pop itemAtIndex:x] tag] )
+    {
+        x = (x + 1);
+        
+        if( x >= [o_logo_pos_rel_pop numberOfItems] )
+        {
+            x = 0;
+            return;
+        }
+    }
+    
+    /* enable the wanted filters */
     char * psz_subfilters;
     psz_subfilters = config_GetPsz( p_intf, "sub-filter" );
     if( psz_subfilters )
@@ -268,7 +339,8 @@ static VLCsFilters *_o_sharedInstance = nil;
 {
     NSOpenPanel * openPanel = [NSOpenPanel openPanel];
     SEL sel = @selector(logo_getFile:returnCode:contextInfo:);
-    [openPanel beginSheetForDirectory:nil file:nil types:nil modalForWindow: \
+    [openPanel beginSheetForDirectory:nil file:nil types: [NSArray \
+        arrayWithObjects: @"png", @"PNG", @"'PNGf'", nil] modalForWindow: \
         o_sfilter_win modalDelegate:self didEndSelector:sel contextInfo:nil];
 }
 
@@ -290,9 +362,9 @@ static VLCsFilters *_o_sharedInstance = nil;
     vlc_value_t val;
 
     /* general properties */
-    if( sender == o_time_pos_rel_btn)
+    if( sender == o_sfilter_saveSettings_ckb)
     {
-        o_save_settings = [o_time_pos_rel_btn state]; 
+        o_save_settings = [o_sfilter_saveSettings_ckb state]; 
     }
 
     /* marquee */
@@ -313,26 +385,6 @@ static VLCsFilters *_o_sharedInstance = nil;
         config_PutPsz( p_intf, "marq-marquee", val.psz_string );
     }
     
-    else if( sender == o_marq_pos_fix_X_fld && [[sender stringValue] length] > 0 )
-    {
-        val.i_int = [o_marq_pos_fix_X_fld intValue];
-        
-        if( p_input )
-            var_Set( p_input->p_libvlc, "marq-x", val );
-
-        config_PutInt( p_intf, "marq-x", val.i_int );
-    }
-    
-    else if( sender == o_marq_pos_fix_Y_fld && [[sender stringValue] length] > 0 )
-    {
-        val.i_int = [o_marq_pos_fix_Y_fld intValue];
-
-        if( p_input )
-            var_Set( p_input->p_libvlc, "marq-y", val );
-
-        config_PutInt( p_intf, "marq-y", val.i_int );
-    }
-    
     else if( sender == o_marq_pos_rel_pop )
     {
         val.i_int = [[o_marq_pos_rel_pop selectedItem] tag];
@@ -440,18 +492,9 @@ static VLCsFilters *_o_sharedInstance = nil;
     [o_marq_color_pop setEnabled: [o_marq_enabled_ckb state]];
     [o_marq_marq_fld setEnabled: [o_marq_enabled_ckb state]];
     [o_marq_opaque_sld setEnabled: [o_marq_enabled_ckb state]];
-    [o_marq_pos_fix_btn setEnabled: [o_marq_enabled_ckb state]];
-    [o_marq_pos_rel_btn setEnabled: [o_marq_enabled_ckb state]];
     [o_marq_size_pop setEnabled: [o_marq_enabled_ckb state]];
     [o_marq_tmOut_fld setEnabled: [o_marq_enabled_ckb state]];
-    if( [o_marq_enabled_ckb state] )
-    {
-        [self otherPositionForMarq: nil];
-    } else {
-        [o_marq_pos_fix_X_fld setEnabled: NO];
-        [o_marq_pos_fix_Y_fld setEnabled: NO];
-        [o_marq_pos_rel_pop setEnabled: NO];
-    }
+    [o_marq_pos_rel_pop setEnabled: [o_marq_enabled_ckb state]];
 }
 
 - (void)enableTime
@@ -459,17 +502,8 @@ static VLCsFilters *_o_sharedInstance = nil;
     [o_time_color_pop setEnabled: [o_time_enabled_ckb state]];
     [o_time_stamp_fld setEnabled: [o_time_enabled_ckb state]];
     [o_time_opaque_sld setEnabled: [o_time_enabled_ckb state]];
-    [o_time_pos_fix_btn setEnabled: [o_time_enabled_ckb state]];
-    [o_time_pos_rel_btn setEnabled: [o_time_enabled_ckb state]];
     [o_time_size_pop setEnabled: [o_time_enabled_ckb state]];
-    if( [o_time_enabled_ckb state] )
-    {
-        [self otherPositionForTime: nil];
-    } else {
-        [o_time_pos_fix_X_fld setEnabled: NO];
-        [o_time_pos_fix_Y_fld setEnabled: NO];
-        [o_time_pos_rel_pop setEnabled: NO];
-    }
+    [o_time_pos_rel_pop setEnabled: [o_time_enabled_ckb state]];
 }
 
 - (void)enableLogo
@@ -477,64 +511,7 @@ static VLCsFilters *_o_sharedInstance = nil;
     [o_logo_image_btn setEnabled: [o_logo_enabled_ckb state]];
     [o_logo_image_fld setEnabled: [o_logo_enabled_ckb state]];
     [o_logo_opaque_sld setEnabled: [o_logo_enabled_ckb state]];
-    [o_logo_pos_fix_btn setEnabled: [o_logo_enabled_ckb state]];
-    [o_logo_pos_rel_btn setEnabled: [o_logo_enabled_ckb state]];
-    if( [o_logo_enabled_ckb state] )
-    {
-        [self otherPositionForLogo: nil];
-    } else {
-        [o_logo_pos_fix_X_fld setEnabled: NO];
-        [o_logo_pos_fix_Y_fld setEnabled: NO];
-        [o_logo_pos_rel_pop setEnabled: NO];
-    }
-}
-
-- (IBAction)otherPositionForLogo:(id)sender
-{
-    if( [o_logo_pos_fix_btn state] )
-    {
-        [o_logo_pos_fix_X_fld setEnabled: YES];
-        [o_logo_pos_fix_Y_fld setEnabled: YES];
-        [o_logo_pos_rel_pop setEnabled: NO];
-    }
-    else
-    {
-        [o_logo_pos_fix_X_fld setEnabled: NO];
-        [o_logo_pos_fix_Y_fld setEnabled: NO];
-        [o_logo_pos_rel_pop setEnabled: YES];
-    }
-}
-
-- (IBAction)otherPositionForMarq:(id)sender
-{
-    if( [o_marq_pos_fix_btn state] )
-    {
-        [o_marq_pos_fix_X_fld setEnabled: YES];
-        [o_marq_pos_fix_Y_fld setEnabled: YES];
-        [o_marq_pos_rel_pop setEnabled: NO];
-    }
-    else
-    {
-        [o_marq_pos_fix_X_fld setEnabled: NO];
-        [o_marq_pos_fix_Y_fld setEnabled: NO];
-        [o_marq_pos_rel_pop setEnabled: YES];
-    }
-}
-
-- (IBAction)otherPositionForTime:(id)sender
-{
-    if( [o_time_pos_fix_btn state] )
-    {
-        [o_time_pos_fix_X_fld setEnabled: YES];
-        [o_time_pos_fix_Y_fld setEnabled: YES];
-        [o_time_pos_rel_pop setEnabled: NO];
-    }
-    else
-    {
-        [o_time_pos_fix_X_fld setEnabled: NO];
-        [o_time_pos_fix_Y_fld setEnabled: NO];
-        [o_time_pos_rel_pop setEnabled: YES];
-    }
+    [o_logo_pos_rel_pop setEnabled: [o_logo_enabled_ckb state]];
 }
 
 - (void)changeFiltersString:(char *)psz_name onOrOff:(vlc_bool_t )b_add