qt: playlist: use item title if available
[vlc.git] / modules / gui / minimal_macosx / misc.m
1 /*****************************************************************************
2  * misc.m: custom code
3  *****************************************************************************
4  * Copyright (C) 2012 VLC authors and VideoLAN
5  *
6  * Authors: Felix Paul Kühne <fkuehne at videolan dot org>
7  *          David Fuhrmann <david dot fuhrmann at googlemail dot com>
8  *          Pierre d'Herbemont <pdherbemont # videolan dot org>
9  *
10  * This program is free software; you can redistribute it and/or modify it
11  * under the terms of the GNU Lesser General Public License as published by
12  * the Free Software Foundation; either version 2.1 of the License, or
13  * (at your option) any later version.
14  *
15  * This program is distributed in the hope that it will be useful,
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18  * GNU Lesser General Public License for more details.
19  *
20  * You should have received a copy of the GNU Lesser General Public License
21  * along with this program; if not, write to the Free Software Foundation,
22  * Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
23  *****************************************************************************/
24
25 #import "misc.h"
26
27 @implementation NSScreen (VLCAdditions)
28
29 - (BOOL)hasMenuBar
30 {
31     return ([self displayID] == [[[NSScreen screens] objectAtIndex:0] displayID]);
32 }
33
34 - (BOOL)hasDock
35 {
36     NSRect screen_frame = [self frame];
37     NSRect screen_visible_frame = [self visibleFrame];
38     CGFloat f_menu_bar_thickness = [self hasMenuBar] ? [[NSStatusBar systemStatusBar] thickness] : 0.0;
39
40     BOOL b_found_dock = NO;
41     if (screen_visible_frame.size.width < screen_frame.size.width)
42         b_found_dock = YES;
43     else if (screen_visible_frame.size.height + f_menu_bar_thickness < screen_frame.size.height)
44         b_found_dock = YES;
45
46     return b_found_dock;
47 }
48
49 - (CGDirectDisplayID)displayID
50 {
51     return (CGDirectDisplayID)[[[self deviceDescription] objectForKey: @"NSScreenNumber"] intValue];
52 }
53
54 @end