Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
V
vlc-2-2
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Redmine
Redmine
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
videolan
vlc-2-2
Commits
1c8685fb
Commit
1c8685fb
authored
Aug 02, 2008
by
Pierre d'Herbemont
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
macosx: Fix controller playlist toggling to use the contentRect and not the window Frame rect.
parent
bbd3cba0
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
55 additions
and
33 deletions
+55
-33
extras/package/macosx/Resources/English.lproj/MainMenu.nib/keyedobjects.nib
...osx/Resources/English.lproj/MainMenu.nib/keyedobjects.nib
+0
-0
modules/gui/macosx/intf.m
modules/gui/macosx/intf.m
+55
-33
No files found.
extras/package/macosx/Resources/English.lproj/MainMenu.nib/keyedobjects.nib
View file @
1c8685fb
No preview for this file type
modules/gui/macosx/intf.m
View file @
1c8685fb
...
...
@@ -455,7 +455,11 @@ static VLCMain *_o_sharedMainInstance = nil;
[
o_window
setDelegate
:
self
];
b_restore_size
=
false
;
if
(
[
o_window
frame
].
size
.
height
<=
200
)
// Set that here as IB seems to be buggy
[
o_window
setContentMinSize
:
NSMakeSize
(
338
.,
30
.)];
if
(
[
o_window
contentRectForFrameRect
:[
o_window
frame
]].
size
.
height
<=
169
.
)
{
b_small_window
=
YES
;
[
o_window
setFrame
:
NSMakeRect
(
[
o_window
frame
].
origin
.
x
,
...
...
@@ -466,14 +470,16 @@ static VLCMain *_o_sharedMainInstance = nil;
else
{
b_small_window
=
NO
;
[
o_playlist_view
setFrame
:
NSMakeRect
(
0
,
0
,
[
o_window
frame
].
size
.
width
,
[
o_window
frame
].
size
.
height
-
95
)];
NSRect
contentRect
=
[
o_window
contentRectForFrameRect
:[
o_window
frame
]];
[
o_playlist_view
setFrame
:
NSMakeRect
(
0
,
0
,
contentRect
.
size
.
width
,
contentRect
.
size
.
height
-
[
o_window
contentMinSize
].
height
)];
[
o_playlist_view
setNeedsDisplay
:
YES
];
[
o_playlist_view
setAutoresizesSubviews
:
YES
];
[[
o_window
contentView
]
addSubview
:
o_playlist_view
];
}
[
self
updateTogglePlaylistState
];
o_size_with_playlist
=
[
o_window
frame
].
size
;
o_size_with_playlist
=
[
o_window
contentRectForFrameRect
:[
o_window
frame
]
].
size
;
p_playlist
=
pl_Yield
(
p_intf
);
...
...
@@ -2242,35 +2248,35 @@ end:
}
}
#pragma mark Playlist toggling
-
(
IBAction
)
togglePlaylist
:(
id
)
sender
{
NSRect
o_rect
=
[
o_window
frame
];
NSRect
contentRect
=
[
o_window
contentRectForFrameRect
:[
o_window
frame
]];
NSRect
o_rect
=
[
o_window
contentRectForFrameRect
:[
o_window
frame
]];
/*First, check if the playlist is visible*/
if
(
o_rect
.
size
.
height
<=
200
)
if
(
contentRect
.
size
.
height
<=
169
.
)
{
o_restore_rect
=
o_r
ect
;
o_restore_rect
=
contentR
ect
;
b_restore_size
=
true
;
b_small_window
=
YES
;
/* we know we are small, make sure this is actually set (see case below) */
/* make large */
if
(
o_size_with_playlist
.
height
>
200
)
{
if
(
o_size_with_playlist
.
height
>
169
.
)
o_rect
.
size
.
height
=
o_size_with_playlist
.
height
;
}
else
{
o_rect
.
size
.
height
=
500
;
}
else
o_rect
.
size
.
height
=
500
.;
if
(
o_size_with_playlist
.
width
>
[
o_window
minSize
].
width
)
{
if
(
o_size_with_playlist
.
width
>=
[
o_window
contentMinSize
].
width
)
o_rect
.
size
.
width
=
o_size_with_playlist
.
width
;
}
else
{
o_rect
.
size
.
width
=
500
;
}
o_rect
.
size
.
height
=
(
o_size_with_playlist
.
height
>
200
)
?
o_size_with_playlist
.
height
:
500
;
o_rect
.
origin
.
x
=
[
o_window
frame
].
origin
.
x
;
o_rect
.
origin
.
y
=
[
o_window
frame
].
origin
.
y
-
o_rect
.
size
.
height
+
[
o_window
minSize
].
height
;
else
o_rect
.
size
.
width
=
[
o_window
contentMinSize
].
width
;
o_rect
.
origin
.
x
=
contentRect
.
origin
.
x
;
o_rect
.
origin
.
y
=
contentRect
.
origin
.
y
-
o_rect
.
size
.
height
+
[
o_window
contentMinSize
].
height
;
o_rect
=
[
o_window
frameRectForContentRect
:
o_rect
];
NSRect
screenRect
=
[[
o_window
screen
]
visibleFrame
];
if
(
!
NSContainsRect
(
screenRect
,
o_rect
)
)
{
...
...
@@ -2285,21 +2291,31 @@ end:
else
{
NSSize
curSize
=
o_rect
.
size
;
/* make small */
o_rect
.
size
.
height
=
[
o_window
minSize
].
height
;
o_rect
.
size
.
width
=
[
o_window
minSize
].
width
;
o_rect
.
origin
.
x
=
[
o_window
frame
].
origin
.
x
;
/* Calculate the position of the lower right corner after resize */
o_rect
.
origin
.
y
=
[
o_window
frame
].
origin
.
y
+
[
o_window
frame
].
size
.
height
-
[
o_window
minSize
].
height
;
if
(
b_restore_size
)
{
o_rect
=
o_restore_rect
;
if
(
o_rect
.
size
.
height
<
[
o_window
contentMinSize
].
height
)
o_rect
.
size
.
height
=
[
o_window
contentMinSize
].
height
;
if
(
o_rect
.
size
.
width
<
[
o_window
contentMinSize
].
width
)
o_rect
.
size
.
width
=
[
o_window
contentMinSize
].
width
;
}
else
{
NSRect
contentRect
=
[
o_window
contentRectForFrameRect
:[
o_window
frame
]];
/* make small */
o_rect
.
size
.
height
=
[
o_window
contentMinSize
].
height
;
o_rect
.
size
.
width
=
[
o_window
contentMinSize
].
width
;
o_rect
.
origin
.
x
=
contentRect
.
origin
.
x
;
/* Calculate the position of the lower right corner after resize */
o_rect
.
origin
.
y
=
contentRect
.
origin
.
y
+
contentRect
.
size
.
height
-
[
o_window
contentMinSize
].
height
;
}
[
o_playlist_view
setAutoresizesSubviews
:
NO
];
[
o_playlist_view
removeFromSuperview
];
[
o_btn_playlist
setState
:
NO
];
b_small_window
=
NO
;
/* we aren't small here just yet. we are doing an animated resize after this */
o_rect
=
[
o_window
frameRectForContentRect
:
o_rect
];
}
[
o_window
setFrame
:
o_rect
display
:
YES
animate
:
YES
];
...
...
@@ -2307,7 +2323,7 @@ end:
-
(
void
)
updateTogglePlaylistState
{
if
(
[
o_window
frame
].
size
.
height
<=
200
)
if
(
[
o_window
contentRectForFrameRect
:[
o_window
frame
]].
size
.
height
<=
169
.
)
{
[
o_btn_playlist
setState
:
NO
];
}
...
...
@@ -2319,13 +2335,16 @@ end:
-
(
NSSize
)
windowWillResize
:(
NSWindow
*
)
sender
toSize
:(
NSSize
)
proposedFrameSize
{
/* Not triggered on a window resize or maxification of the window. only by window mouse dragging resize */
/*Stores the size the controller one resize, to be able to restore it when
toggling the playlist*/
o_size_with_playlist
=
proposedFrameSize
;
if
(
proposedFrameSize
.
height
<=
200
)
NSRect
rect
;
rect
.
size
=
proposedFrameSize
;
if
(
[
o_window
contentRectForFrameRect
:
rect
].
size
.
height
<=
169
.
)
{
if
(
b_small_window
==
NO
)
{
...
...
@@ -2350,7 +2369,8 @@ end:
{
/* If large and coming from small then show */
[
o_playlist_view
setAutoresizesSubviews
:
YES
];
[
o_playlist_view
setFrame
:
NSMakeRect
(
0
,
0
,
[
o_window
frame
].
size
.
width
,
[
o_window
frame
].
size
.
height
-
[
o_window
minSize
].
height
)];
NSRect
contentRect
=
[
o_window
contentRectForFrameRect
:[
o_window
frame
]];
[
o_playlist_view
setFrame
:
NSMakeRect
(
0
,
0
,
contentRect
.
size
.
width
,
contentRect
.
size
.
height
-
[
o_window
contentMinSize
].
height
)];
[
o_playlist_view
setNeedsDisplay
:
YES
];
[[
o_window
contentView
]
addSubview
:
o_playlist_view
];
b_small_window
=
NO
;
...
...
@@ -2358,6 +2378,8 @@ end:
[
self
updateTogglePlaylistState
];
}
#pragma mark -
@end
@implementation
VLCMain
(
NSMenuValidation
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment