vlc | branch: master | David Fuhrmann <[email protected]> | Tue Jul 24 12:29:03 2012 +0200| [7f48cb43002663d67614c08315705c3e1ff5b66e] | committer: David Fuhrmann
macosx: display preferences windows on a level >= video window > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=7f48cb43002663d67614c08315705c3e1ff5b66e --- modules/gui/macosx/MainMenu.m | 6 +++++- modules/gui/macosx/MainWindow.m | 2 ++ modules/gui/macosx/prefs.h | 2 +- modules/gui/macosx/prefs.m | 3 ++- modules/gui/macosx/simple_prefs.h | 1 + modules/gui/macosx/simple_prefs.m | 8 +++++++- 6 files changed, 18 insertions(+), 4 deletions(-) diff --git a/modules/gui/macosx/MainMenu.m b/modules/gui/macosx/MainMenu.m index f910708..5baf6dd 100644 --- a/modules/gui/macosx/MainMenu.m +++ b/modules/gui/macosx/MainMenu.m @@ -855,7 +855,11 @@ static VLCMainMenu *_o_sharedInstance = nil; - (IBAction)viewPreferences:(id)sender { - [[[VLCMain sharedInstance] simplePreferences] showSimplePrefs]; + NSInteger i_level = NSNormalWindowLevel; + NSInteger i_video_window_level = [[[[VLCMainWindow sharedInstance] videoView] window] level]; + if( i_video_window_level == NSStatusWindowLevel ) + i_level = NSStatusWindowLevel; + [[[VLCMain sharedInstance] simplePreferences] showSimplePrefsWithLevel:i_level]; } #pragma mark - diff --git a/modules/gui/macosx/MainWindow.m b/modules/gui/macosx/MainWindow.m index c3addb5..1b9cbf7 100644 --- a/modules/gui/macosx/MainWindow.m +++ b/modules/gui/macosx/MainWindow.m @@ -1859,6 +1859,8 @@ static VLCMainWindow *_o_sharedInstance = nil; if( [self level] != NSNormalWindowLevel ) [self setLevel: NSNormalWindowLevel]; + if( [o_detached_video_window level] != NSNormalWindowLevel ) + [o_detached_video_window setLevel: NSNormalWindowLevel]; // restore alpha value to 1 for the case that macosx-opaqueness is set to < 1 [self setAlphaValue:1.0]; diff --git a/modules/gui/macosx/prefs.h b/modules/gui/macosx/prefs.h index 2d77d48..698d0fd 100644 --- a/modules/gui/macosx/prefs.h +++ b/modules/gui/macosx/prefs.h @@ -47,7 +47,7 @@ - (void)initStrings; - (void)setTitle: (NSString *) o_title_name; -- (void)showPrefs; +- (void)showPrefsWithLevel:(NSInteger)i_window_level; - (IBAction)savePrefs: (id)sender; - (IBAction)closePrefs: (id)sender; - (IBAction)resetAll: (id)sender; diff --git a/modules/gui/macosx/prefs.m b/modules/gui/macosx/prefs.m index 3ef939f..ae4812b 100644 --- a/modules/gui/macosx/prefs.m +++ b/modules/gui/macosx/prefs.m @@ -195,8 +195,9 @@ static VLCPrefs *_o_sharedMainInstance = nil; [o_title setStringValue: o_title_name]; } -- (void)showPrefs +- (void)showPrefsWithLevel:(NSInteger)i_window_level { + [o_prefs_window setLevel: i_window_level]; [o_prefs_window center]; [o_prefs_window makeKeyAndOrderFront:self]; [_rootTreeItem resetView]; diff --git a/modules/gui/macosx/simple_prefs.h b/modules/gui/macosx/simple_prefs.h index 20b6161..1b59f9c 100644 --- a/modules/gui/macosx/simple_prefs.h +++ b/modules/gui/macosx/simple_prefs.h @@ -196,6 +196,7 @@ IBOutlet id o_intf_mediakeys_ckb; - (void)initStrings; - (void)resetControls; - (void)showSimplePrefs; +- (void)showSimplePrefsWithLevel:(NSInteger)i_window_level; - (IBAction)buttonAction:(id)sender; - (void)sheetDidEnd:(NSWindow *)o_sheet diff --git a/modules/gui/macosx/simple_prefs.m b/modules/gui/macosx/simple_prefs.m index 414815e..a5ac282 100644 --- a/modules/gui/macosx/simple_prefs.m +++ b/modules/gui/macosx/simple_prefs.m @@ -740,6 +740,12 @@ static inline char * __config_GetLabel( vlc_object_t *p_this, const char *psz_na [o_sprefs_win makeKeyAndOrderFront: self]; } +- (void)showSimplePrefsWithLevel:(NSInteger)i_window_level +{ + [o_sprefs_win setLevel: i_window_level]; + [self showSimplePrefs]; +} + - (IBAction)buttonAction:(id)sender { if( sender == o_sprefs_cancel_btn ) @@ -762,7 +768,7 @@ static inline char * __config_GetLabel( vlc_object_t *p_this, const char *psz_na else if( sender == o_sprefs_showAll_btn ) { [o_sprefs_win orderOut: self]; - [[[VLCMain sharedInstance] preferences] showPrefs]; + [[[VLCMain sharedInstance] preferences] showPrefsWithLevel:[o_sprefs_win level]]; } else msg_Warn( p_intf, "unknown buttonAction sender" ); _______________________________________________ vlc-commits mailing list [email protected] http://mailman.videolan.org/listinfo/vlc-commits
