#define OFFSET_RIGHT 20
#define OFFSET_BETWEEN 2
-#define LEFTMARGIN 18
-#define RIGHTMARGIN 18
+#define MACOS_VERSION [[[NSDictionary dictionaryWithContentsOfFile: \
+ @"/System/Library/CoreServices/SystemVersion.plist"] \
+ objectForKey: @"ProductVersion"] floatValue]
#define UPWARDS_WHITE_ARROW "\xE2\x87\xA7"
#define OPTION_KEY "\xE2\x8C\xA5"
[o_checkbox sizeToFit]; \
}
-#define ADD_CHECKBOX( o_checkbox, superFrame, x_offset, my_y_offset, label, \
- tooltip, init_value, position ) \
-{ \
- NSRect s_rc = superFrame; \
- s_rc.size.height = 18; \
- s_rc.origin.x = x_offset - 2; \
- s_rc.origin.y = superFrame.size.height - 18 + my_y_offset; \
- o_checkbox = [[[NSButton alloc] initWithFrame: s_rc] retain]; \
- [o_checkbox setFont:[NSFont systemFontOfSize:0]]; \
- [o_checkbox setButtonType: NSSwitchButton]; \
- [o_checkbox setImagePosition: position]; \
- [o_checkbox setIntValue: init_value]; \
- [o_checkbox setTitle: label]; \
- [o_checkbox setToolTip: tooltip]; \
- [o_checkbox sizeToFit]; \
-}
-
@implementation VLCConfigControl
- (id)initWithFrame: (NSRect)frame
{
switch( i_lastItem )
{
case CONFIG_ITEM_STRING:
- i_margin = 6;
+ i_margin = 10;
break;
case CONFIG_ITEM_STRING_LIST:
- i_margin = 5;
+ i_margin = 9;
break;
case CONFIG_ITEM_FILE:
- i_margin = 4;
+ i_margin = 8;
break;
case CONFIG_ITEM_MODULE:
- i_margin = 2;
+ i_margin = 6;
break;
case CONFIG_ITEM_INTEGER:
- i_margin = 5;
+ i_margin = 9;
break;
case CONFIG_ITEM_RANGED_INTEGER:
- i_margin = 3;
+ i_margin = 7;
break;
case CONFIG_ITEM_BOOL:
- i_margin = 3;
+ i_margin = 7;
break;
case CONFIG_ITEM_KEY_BEFORE_10_3:
- i_margin = 3;
+ i_margin = 7;
break;
case CONFIG_ITEM_KEY_AFTER_10_3:
- i_margin = 2;
+ i_margin = 5;
break;
case CONFIG_ITEM_MODULE_LIST:
- i_margin = 6;
+ i_margin = 10;
break;
default:
- i_margin = 18;
+ i_margin = 20;
break;
}
break;
break;
}
}
+
+- (int)getLabelSize
+{
+ return [o_label frame].size.width;
+}
@end
@implementation StringConfigControl
return self;
}
+- (void) alignWithXPosition:(int)i_xPos
+{
+ NSRect frame;
+ NSRect superFrame = [self frame];
+ frame = [o_label frame];
+ frame.origin.x = i_xPos - frame.size.width - 3;
+ [o_label setFrame:frame];
+
+ frame = [o_textfield frame];
+ frame.origin.x = i_xPos + 2;
+ frame.size.width = superFrame.size.width - frame.origin.x - 1;
+ [o_textfield setFrame:frame];
+}
+
- (void)dealloc
{
- [o_label release];
[o_textfield release];
[super dealloc];
}
return self;
}
+- (void) alignWithXPosition:(int)i_xPos
+{
+ NSRect frame;
+ NSRect superFrame = [self frame];
+ frame = [o_label frame];
+ frame.origin.x = i_xPos - frame.size.width - 3;
+ [o_label setFrame:frame];
+
+ frame = [o_combo frame];
+ frame.origin.x = i_xPos + 2;
+ frame.size.width = superFrame.size.width - frame.origin.x + 2;
+ [o_combo setFrame:frame];
+}
+
- (void)dealloc
{
[o_combo release];
return self;
}
+- (void) alignWithXPosition:(int)i_xPos
+{
+ ;
+}
+
- (void)dealloc
{
[o_textfield release];
return self;
}
+- (void) alignWithXPosition:(int)i_xPos
+{
+ NSRect frame;
+ NSRect superFrame = [self frame];
+ frame = [o_label frame];
+ frame.origin.x = i_xPos - frame.size.width - 3;
+ [o_label setFrame:frame];
+
+ frame = [o_popup frame];
+ frame.origin.x = i_xPos - 1;
+ frame.size.width = superFrame.size.width - frame.origin.x + 2;
+ [o_popup setFrame:frame];
+}
+
- (void)dealloc
{
[o_popup release];
localizedString: p_item->psz_text];
else
o_labelString = [NSString stringWithString:@""];
- ADD_LABEL( o_label, mainFrame, 0, -2, o_labelString )
+ ADD_LABEL( o_label, mainFrame, 0, -3, o_labelString )
[o_label setAutoresizingMask:NSViewNotSizable ];
[self addSubview: o_label];
ADD_STEPPER( o_stepper, mainFrame, mainFrame.size.width - 19,
0, o_tooltip, -1600, 1600)
[o_stepper setIntValue: p_item->i_value];
- [o_stepper setAutoresizingMask:NSViewMinXMargin ];
+ [o_stepper setAutoresizingMask:NSViewMaxXMargin ];
[self addSubview: o_stepper];
/* build the textfield */
selector: @selector(textfieldChanged:)
name: NSControlTextDidChangeNotification
object: o_textfield];
- [o_textfield setAutoresizingMask:NSViewMinXMargin ];
+ [o_textfield setAutoresizingMask:NSViewMaxXMargin ];
[self addSubview: o_textfield];
}
return self;
}
+- (void) alignWithXPosition:(int)i_xPos
+{
+ NSRect frame;
+ frame = [o_label frame];
+ frame.origin.x = i_xPos - frame.size.width - 3;
+ [o_label setFrame:frame];
+
+ frame = [o_textfield frame];
+ frame.origin.x = i_xPos + 2;
+ [o_textfield setFrame:frame];
+
+ frame = [o_stepper frame];
+ frame.origin.x = i_xPos + [o_textfield frame].size.width + 5;
+ [o_stepper setFrame:frame];
+}
+
- (void)dealloc
{
[o_stepper release];
return self;
}
+- (void) alignWithXPosition:(int)i_xPos
+{
+ NSRect frame;
+ NSRect superFrame = [self frame];
+ frame = [o_label frame];
+ frame.origin.x = i_xPos - frame.size.width - 3;
+ [o_label setFrame:frame];
+
+ frame = [o_combo frame];
+ frame.origin.x = i_xPos + 2;
+ frame.size.width = superFrame.size.width - frame.origin.x + 2;
+ [o_combo setFrame:frame];
+}
+
- (void)dealloc
{
[o_combo release];
ADD_LABEL( o_textfield_min, mainFrame, 12, -30, @"-8888" )
[o_textfield_min setIntValue: p_item->i_min];
[o_textfield_min setAutoresizingMask:NSViewMaxXMargin ];
+ [o_textfield_min setAlignment:NSRightTextAlignment];
[self addSubview: o_textfield_min];
/* build the maxtextfield */
return self;
}
+- (void) alignWithXPosition:(int)i_xPos
+{
+ NSRect frame;
+ frame = [o_label frame];
+ frame.origin.x = i_xPos - frame.size.width - 3;
+ [o_label setFrame:frame];
+
+ frame = [o_textfield frame];
+ frame.origin.x = i_xPos + 2;
+ [o_textfield setFrame:frame];
+}
+
- (void)dealloc
{
[o_textfield release];
ADD_STEPPER( o_stepper, mainFrame, mainFrame.size.width - 19,
0, o_tooltip, -1600, 1600)
[o_stepper setFloatValue: p_item->f_value];
- [o_stepper setAutoresizingMask:NSViewMinXMargin ];
+ [o_stepper setAutoresizingMask:NSViewMaxXMargin ];
[self addSubview: o_stepper];
/* build the textfield */
selector: @selector(textfieldChanged:)
name: NSControlTextDidChangeNotification
object: o_textfield];
- [o_textfield setAutoresizingMask:NSViewMinXMargin ];
+ [o_textfield setAutoresizingMask:NSViewMaxXMargin ];
[self addSubview: o_textfield];
}
return self;
}
+- (void) alignWithXPosition:(int)i_xPos
+{
+ NSRect frame;
+ frame = [o_label frame];
+ frame.origin.x = i_xPos - frame.size.width - 3;
+ [o_label setFrame:frame];
+
+ frame = [o_textfield frame];
+ frame.origin.x = i_xPos + 2;
+ [o_textfield setFrame:frame];
+
+ frame = [o_stepper frame];
+ frame.origin.x = i_xPos + [o_textfield frame].size.width + 5;
+ [o_stepper setFrame:frame];
+}
+
- (void)dealloc
{
[o_stepper release];
ADD_LABEL( o_textfield_min, mainFrame, 12, -30, @"-8888" )
[o_textfield_min setFloatValue: p_item->f_min];
[o_textfield_min setAutoresizingMask:NSViewMaxXMargin ];
+ [o_textfield_min setAlignment:NSRightTextAlignment];
[self addSubview: o_textfield_min];
/* build the maxtextfield */
return self;
}
+- (void) alignWithXPosition:(int)i_xPos
+{
+ NSRect frame;
+ frame = [o_label frame];
+ frame.origin.x = i_xPos - frame.size.width - 3;
+ [o_label setFrame:frame];
+
+ frame = [o_textfield frame];
+ frame.origin.x = i_xPos + 2;
+ [o_textfield setFrame:frame];
+}
+
- (void)dealloc
{
[o_textfield release];
{
i_view_type = CONFIG_ITEM_BOOL;
- /* add the checkbox */
+ /* add the label */
if( p_item->psz_text )
o_labelString = [[VLCMain sharedInstance]
localizedString: p_item->psz_text];
else
o_labelString = [NSString stringWithString:@""];
+ ADD_LABEL( o_label, mainFrame, 0, 0, o_labelString )
+ [o_label setAutoresizingMask:NSViewNotSizable ];
+ [self addSubview: o_label];
+ /* add the checkbox */
o_tooltip = [[VLCMain sharedInstance]
wrapString: [[VLCMain sharedInstance]
localizedString: p_item->psz_longtext ] toWidth: PREFS_WRAP];
- ADD_CHECKBOX( o_checkbox, mainFrame, 0, 0, o_labelString,
- o_tooltip, p_item->i_value, NSImageRight)
+ ADD_CHECKBOX( o_checkbox, mainFrame, [o_label frame].size.width,
+ 0, @"", o_tooltip, p_item->i_value, NSImageLeft)
[o_checkbox setAutoresizingMask:NSViewNotSizable ];
[self addSubview: o_checkbox];
}
return self;
}
+- (void) alignWithXPosition:(int)i_xPos
+{
+ NSRect frame;
+ frame = [o_label frame];
+ frame.origin.x = i_xPos - frame.size.width - 3;
+ [o_label setFrame:frame];
+
+ frame = [o_checkbox frame];
+ frame.origin.x = i_xPos;
+ [o_checkbox setFrame:frame];
+}
+
- (void)dealloc
{
[o_checkbox release];
return self;
}
+- (void) alignWithXPosition:(int)i_xPos
+{
+ NSRect frame;
+ NSRect superFrame = [self frame];
+ frame = [o_label frame];
+ frame.origin.x = i_xPos - frame.size.width - 3;
+ [o_label setFrame:frame];
+
+ frame = [o_cmd_checkbox frame];
+ frame.origin.x = i_xPos;
+ [o_cmd_checkbox setFrame:frame];
+
+ frame = [o_ctrl_checkbox frame];
+ frame.origin.x = [o_cmd_checkbox frame].size.width +
+ [o_cmd_checkbox frame].origin.x + 4;
+ [o_ctrl_checkbox setFrame:frame];
+
+ frame = [o_alt_checkbox frame];
+ frame.origin.x = i_xPos;
+ [o_alt_checkbox setFrame:frame];
+
+ frame = [o_shift_checkbox frame];
+ frame.origin.x = [o_cmd_checkbox frame].size.width +
+ [o_cmd_checkbox frame].origin.x + 4;
+ [o_shift_checkbox setFrame:frame];
+
+ frame = [o_popup frame];
+ frame.origin.x = [o_shift_checkbox frame].origin.x +
+ [o_shift_checkbox frame].size.width + 3;
+ frame.size.width = superFrame.size.width - frame.origin.x + 2;
+ [o_popup setFrame:frame];
+}
+
- (void)dealloc
{
[o_cmd_checkbox release];
return self;
}
+- (void) alignWithXPosition:(int)i_xPos
+{
+ NSRect frame;
+ NSRect superFrame = [self frame];
+ frame = [o_label frame];
+ frame.origin.x = i_xPos - frame.size.width - 3;
+ [o_label setFrame:frame];
+
+ frame = [o_popup frame];
+ frame.origin.x = i_xPos - 1;
+ frame.size.width = superFrame.size.width - frame.origin.x + 2;
+ [o_popup setFrame:frame];
+}
+
- (void)dealloc
{
[o_popup release];
return self;
}
+- (void) alignWithXPosition:(int)i_xPos
+{
+ ;
+}
+
- (IBAction)tableChanged:(id)sender
{
NSString *o_newstring = @"";