From: Jérome Decoodt Date: Wed, 11 May 2005 12:19:05 +0000 (+0000) Subject: Change the searchField in NSSearchField when macos >= 10.3 X-Git-Tag: 0.8.2~262 X-Git-Url: https://git.sesse.net/?a=commitdiff_plain;h=7dd8cdfd0ec842c21af56c705ddf8b7f14410455;p=vlc Change the searchField in NSSearchField when macos >= 10.3 Move MACOS_VERSION macro to intf.h --- diff --git a/modules/gui/macosx/intf.h b/modules/gui/macosx/intf.h index 437db45492..fca91a13ba 100644 --- a/modules/gui/macosx/intf.h +++ b/modules/gui/macosx/intf.h @@ -45,6 +45,10 @@ unsigned int CocoaKeyToVLC( unichar i_key ); * the translated string. the translation should be '1:translatedstring' though */ #define _ANS(s) [[[VLCMain sharedInstance] localizedString: _(s)] substringFromIndex:2] +#define MACOS_VERSION [[[NSDictionary dictionaryWithContentsOfFile: \ + @"/System/Library/CoreServices/SystemVersion.plist"] \ + objectForKey: @"ProductVersion"] floatValue] + /***************************************************************************** * intf_sys_t: description and status of the interface *****************************************************************************/ diff --git a/modules/gui/macosx/playlist.h b/modules/gui/macosx/playlist.h index 0da71a0935..340076f3af 100644 --- a/modules/gui/macosx/playlist.h +++ b/modules/gui/macosx/playlist.h @@ -78,6 +78,7 @@ } - (void)initStrings; +- (void)searchfieldChanged:(NSNotification *)o_notification; - (NSMenu *)menuForEvent:(NSEvent *)o_event; - (NSOutlineView *)outlineView; diff --git a/modules/gui/macosx/playlist.m b/modules/gui/macosx/playlist.m index 28b5b395d1..0e17edf68e 100644 --- a/modules/gui/macosx/playlist.m +++ b/modules/gui/macosx/playlist.m @@ -187,10 +187,35 @@ belongs to an Apple hidden private API, and then can "disapear" at any time*/ vlc_list_release( p_list ); vlc_object_release( p_playlist ); + /* Change the simple textfield into a searchField if we can... */ + if( MACOS_VERSION >= 10.3 ) + { + NSView *o_parentview = [o_status_field superview]; + NSSearchField *o_better_search_field = [[NSSearchField alloc]initWithFrame:[o_search_field frame]]; + [o_better_search_field setRecentsAutosaveName:@"VLC media player search"]; + [o_better_search_field setDelegate:self]; + [[NSNotificationCenter defaultCenter] addObserver: self + selector: @selector(searchfieldChanged:) + name: NSControlTextDidChangeNotification + object: o_better_search_field]; + + [o_better_search_field setTarget:self]; + [o_better_search_field setAction:@selector(searchItem:)]; + + [o_better_search_field setAutoresizingMask:NSViewMinXMargin]; + [o_parentview addSubview:o_better_search_field]; + [o_search_field setHidden:YES]; + } + [self initStrings]; //[self playlistUpdated]; } +- (void)searchfieldChanged:(NSNotification *)o_notification +{ + [o_search_field setStringValue:[[o_notification object] stringValue]]; +} + - (void)initStrings { [o_mi_save_playlist setTitle: _NS("Save Playlist...")]; @@ -838,7 +863,6 @@ belongs to an Apple hidden private API, and then can "disapear" at any time*/ if( p_playlist == NULL ) return; - p_view = playlist_ViewFind( p_playlist, i_current_view ); if( p_view ) diff --git a/modules/gui/macosx/prefs_widgets.m b/modules/gui/macosx/prefs_widgets.m index f5f6713caf..6dfc8c2900 100644 --- a/modules/gui/macosx/prefs_widgets.m +++ b/modules/gui/macosx/prefs_widgets.m @@ -38,10 +38,6 @@ #define OFFSET_RIGHT 20 #define OFFSET_BETWEEN 2 -#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" #define UP_ARROWHEAD "\xE2\x8C\x83"