Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
V
vlc-1.1
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-1.1
Commits
ccaf6ed7
Commit
ccaf6ed7
authored
Jan 07, 2008
by
Pierre d'Herbemont
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
MacOSX/VLC_app: Fix the various bindings. And binds the various media control buttons.
parent
096ebc37
Changes
5
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
656 additions
and
576 deletions
+656
-576
extras/MacOSX/VLC_app/English.lproj/MainWindow.xib
extras/MacOSX/VLC_app/English.lproj/MainWindow.xib
+576
-542
extras/MacOSX/VLC_app/Sources/VLCAppBindings.m
extras/MacOSX/VLC_app/Sources/VLCAppBindings.m
+52
-28
extras/MacOSX/VLC_app/Sources/VLCMainWindow.h
extras/MacOSX/VLC_app/Sources/VLCMainWindow.h
+4
-0
extras/MacOSX/VLC_app/Sources/VLCMainWindow.m
extras/MacOSX/VLC_app/Sources/VLCMainWindow.m
+16
-2
extras/MacOSX/VLC_app/VLC.xcodeproj/project.pbxproj
extras/MacOSX/VLC_app/VLC.xcodeproj/project.pbxproj
+8
-4
No files found.
extras/MacOSX/VLC_app/English.lproj/MainWindow.xib
View file @
ccaf6ed7
This diff is collapsed.
Click to expand it.
extras/MacOSX/VLC_app/Sources/VLCAppBindings.m
View file @
ccaf6ed7
...
...
@@ -31,22 +31,14 @@
* VLCMediaDiscoverer (CategoriesListBindings)
*/
@implementation
VLCMediaDiscoverer
(
CategoriesListBindings
)
+
(
void
)
initialize
+
(
NSSet
*
)
keyPathsForValuesAffectingCurrentlyFetchingItems
{
[
VLCMediaDiscoverer
setKeys
:[
NSArray
arrayWithObject
:
@"running"
]
triggerChangeNotificationsForDependentKey
:
@"currentlyFetchingItems
"
];
return
[
NSSet
setWithObject
:
@"running
"
];
}
+
(
NSSet
*
)
keyPathsForValuesAffecting
ValueForKey
:(
NSString
*
)
key
+
(
NSSet
*
)
keyPathsForValuesAffecting
ChildrenInCategoriesListForDetailView
{
/* Thanks to Julien Robert, we'll have some nice auto triggered KVO event from here */
static
NSDictionary
*
dict
=
nil
;
if
(
!
dict
)
{
dict
=
[[
NSDictionary
dictionaryWithObjectsAndKeys
:
[
NSSet
setWithObject
:
@"discoveredMedia.flatAspect"
],
@"childrenInCategoriesListForDetailView"
,
nil
]
retain
];
}
return
[
dict
objectForKey
:
key
];
return
[
NSSet
setWithObject
:
@"discoveredMedia.flatAspect"
];
}
/* General shortcuts */
...
...
@@ -106,21 +98,25 @@
*/
@implementation
VLCMedia
(
VLCAppBindings
)
+
(
NSSet
*
)
keyPathsForValuesAffecting
ValueForKey
:(
NSString
*
)
key
+
(
NSSet
*
)
keyPathsForValuesAffecting
ChildrenInCategoriesList
{
/* Thanks to Julien Robert, we'll have some nice auto triggered KVO event from here */
static
NSDictionary
*
dict
=
nil
;
if
(
!
dict
)
{
dict
=
[[
NSDictionary
dictionaryWithObjectsAndKeys
:
[
NSSet
setWithObject
:
@"subitems.hierarchicalNodeAspect.media"
],
@"childrenInCategoriesList"
,
[
NSSet
setWithObject
:
@"metaDictionary.title"
],
@"descriptionInCategoriesList"
,
[
NSSet
setWithObject
:
@"subitems.flatAspect"
],
@"childrenInCategoriesListForDetailView"
,
[
NSSet
setWithObject
:
@"metaDictionary.title"
],
@"descriptionInVideoView"
,
[
NSSet
setWithObject
:
@"state"
],
@"stateAsImage"
,
nil
]
retain
];
}
return
[
dict
objectForKey
:
key
];
return
[
NSSet
setWithObject
:
@"subitems.hierarchicalNodeAspect.media"
];
}
+
(
NSSet
*
)
keyPathsForValuesAffectingDescriptionInCategoriesList
{
return
[
NSSet
setWithObject
:
@"metaDictionary.title"
];
}
+
(
NSSet
*
)
keyPathsForValuesAffectingChildrenInCategoriesListForDetailView
{
return
[
NSSet
setWithObject
:
@"subitems.flatAspect"
];
}
+
(
NSSet
*
)
keyPathsForValuesAffectingChildrenInDescriptionInVideoView
{
return
[
NSSet
setWithObject
:
@"metaDictionary.title"
];
}
+
(
NSSet
*
)
keyPathsForValuesAffectingStateAsImage
{
return
[
NSSet
setWithObject
:
@"state"
];
}
/* CategoriesList specific bindings */
...
...
@@ -193,9 +189,17 @@
@end
@implementation
VLCMediaPlayer
(
VLCAppBindings
)
+
(
void
)
initialize
+
(
NSSet
*
)
keyPathsForValuesAffectingDescription
{
return
[
NSSet
setWithObjects
:
@"playing"
,
@"media"
,
nil
];
}
+
(
NSSet
*
)
keyPathsForValuesAffectingStateAsButtonImage
{
[
self
setKeys
:[
NSArray
arrayWithObjects
:
@"playing"
,
@"media"
,
nil
]
triggerChangeNotificationsForDependentKey
:
@"description"
];
return
[
NSSet
setWithObjects
:
@"state"
,
@"playing"
,
@"canPause"
,
nil
];
}
+
(
NSSet
*
)
keyPathsForValuesAffectingStateAsButtonAlternateImage
{
return
[
NSSet
setWithObjects
:
@"state"
,
@"playing"
,
@"canPause"
,
nil
];
}
-
(
NSString
*
)
description
...
...
@@ -205,4 +209,24 @@
else
return
@"VLC Media Player"
;
}
-
(
NSImage
*
)
stateAsButtonImage
{
if
([
self
state
]
==
VLCMediaPlayerStatePlaying
&&
[
self
canPause
])
return
[
NSImage
imageNamed
:
@"pause.png"
];
else
if
(
[
self
state
]
==
VLCMediaPlayerStatePlaying
)
return
[
NSImage
imageNamed
:
@"stop.png"
];
else
return
[
NSImage
imageNamed
:
@"play.png"
];
}
-
(
NSImage
*
)
stateAsButtonAlternateImage
{
if
([
self
state
]
==
VLCMediaPlayerStatePlaying
&&
[
self
canPause
])
return
[
NSImage
imageNamed
:
@"pause_blue.png"
];
else
if
(
[
self
state
]
==
VLCMediaPlayerStatePlaying
)
return
[
NSImage
imageNamed
:
@"stop_blue.png"
];
else
return
[
NSImage
imageNamed
:
@"play_blue.png"
];
}
@end
extras/MacOSX/VLC_app/Sources/VLCMainWindow.h
View file @
ccaf6ed7
...
...
@@ -46,6 +46,10 @@
IBOutlet
NSSlider
*
mediaSoundVolume
;
IBOutlet
NSButton
*
mediaPlayerForwardNextButton
;
IBOutlet
NSButton
*
mediaPlayerBackwardPrevButton
;
IBOutlet
NSButton
*
mediaPlayerPlayPauseStopButton
;
IBOutlet
id
navigatorViewToggleButton
;
IBOutlet
VLCOneSplitView
*
mainSplitView
;
IBOutlet
NSView
*
navigatorView
;
...
...
extras/MacOSX/VLC_app/Sources/VLCMainWindow.m
View file @
ccaf6ed7
...
...
@@ -211,8 +211,8 @@
[
fillScreenButton
bind
:
@"value"
toObject
:
videoView
withKeyPath
:
@"fillScreen"
options
:
nil
];
[
fullScreenButton
bind
:
@"value"
toObject
:
videoView
withKeyPath
:
@"fullScreen"
options
:
nil
];
[
fullScreenButton
bind
:
@"enabled"
toObject
:
mediaPlayer
withKeyPath
:
@"
playing"
options
:
nil
];
[
fillScreenButton
bind
:
@"enabled"
toObject
:
mediaPlayer
withKeyPath
:
@"
playing"
options
:
nil
];
[
fullScreenButton
bind
:
@"enabled"
toObject
:
mediaPlayer
withKeyPath
:
@"
media"
options
:
[
NSDictionary
dictionaryWithObject
:
@"NonNilAsBoolTransformer"
forKey
:
NSValueTransformerNameBindingOption
]
];
[
fillScreenButton
bind
:
@"enabled"
toObject
:
mediaPlayer
withKeyPath
:
@"
media"
options
:
[
NSDictionary
dictionaryWithObject
:
@"NonNilAsBoolTransformer"
forKey
:
NSValueTransformerNameBindingOption
]
];
[
mediaReadingProgressSlider
bind
:
@"enabled"
toObject
:
mediaPlayer
withKeyPath
:
@"media"
options
:
[
NSDictionary
dictionaryWithObject
:
@"NonNilAsBoolTransformer"
forKey
:
NSValueTransformerNameBindingOption
]];
[
mediaReadingProgressSlider
bind
:
@"enabled2"
toObject
:
mediaPlayer
withKeyPath
:
@"seekable"
options
:
nil
];
...
...
@@ -239,6 +239,20 @@
/* Sound */
[
mediaSoundVolume
bind
:
@"value"
toObject
:[
VLCLibrary
sharedLibrary
]
withKeyPath
:
@"audio.volume"
options
:
nil
];
/* mediaPlayer */
[
mediaPlayerPlayPauseStopButton
bind
:
@"enabled"
toObject
:
mediaPlayer
withKeyPath
:
@"media"
options
:
[
NSDictionary
dictionaryWithObject
:
@"NonNilAsBoolTransformer"
forKey
:
NSValueTransformerNameBindingOption
]];
[
mediaPlayerPlayPauseStopButton
bind
:
@"state"
toObject
:
mediaPlayer
withKeyPath
:
@"playing"
options
:
nil
];
[
mediaPlayerPlayPauseStopButton
bind
:
@"alternateImage"
toObject
:
mediaPlayer
withKeyPath
:
@"stateAsButtonAlternateImage"
options
:
nil
];
[
mediaPlayerPlayPauseStopButton
bind
:
@"image"
toObject
:
mediaPlayer
withKeyPath
:
@"stateAsButtonImage"
options
:
nil
];
[
mediaPlayerBackwardPrevButton
bind
:
@"enabled"
toObject
:
mediaPlayer
withKeyPath
:
@"playing"
options
:
nil
];
[
mediaPlayerForwardNextButton
bind
:
@"enabled"
toObject
:
mediaPlayer
withKeyPath
:
@"playing"
options
:
nil
];
[
mediaPlayerForwardNextButton
setTarget
:
mediaPlayer
];
[
mediaPlayerForwardNextButton
setAction
:
@selector
(
fastForward
)];
[
mediaPlayerBackwardPrevButton
setTarget
:
mediaPlayer
];
[
mediaPlayerBackwardPrevButton
setAction
:
@selector
(
rewind
)];
[
mediaPlayerPlayPauseStopButton
setTarget
:
mediaPlayer
];
[
mediaPlayerPlayPauseStopButton
setAction
:
@selector
(
pause
)];
/* Last minute setup */
[
categoriesListView
expandItem
:
nil
expandChildren
:
YES
];
[
categoriesListView
selectRowIndexes
:[
NSIndexSet
indexSetWithIndex
:[
categoriesListView
numberOfRows
]
>
0
?
[
categoriesListView
numberOfRows
]
-
1
:
0
]
byExtendingSelection
:
NO
];
...
...
extras/MacOSX/VLC_app/VLC.xcodeproj/project.pbxproj
View file @
ccaf6ed7
...
...
@@ -34,6 +34,7 @@
/* Begin PBXBuildFile section */
632F3C380D31711C003BBC56
/* VLCKit.framework in Frameworks */
=
{
isa
=
PBXBuildFile
;
fileRef
=
632F3C230D316F37003BBC56
/* VLCKit.framework */
;
};
632F3E260D326FF0003BBC56
/* pause.png in Resources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
632F3E250D326FF0003BBC56
/* pause.png */
;
};
633BD4BC0D2A90470012A314
/* VLCValueTransformer.m in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
633BD4AA0D2A90470012A314
/* VLCValueTransformer.m */
;
};
633BD4BD0D2A90470012A314
/* VLCMediaArrayController.m in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
633BD4AC0D2A90470012A314
/* VLCMediaArrayController.m */
;
};
633BD4BE0D2A90470012A314
/* VLCMainWindow.m in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
633BD4AD0D2A90470012A314
/* VLCMainWindow.m */
;
};
...
...
@@ -68,28 +69,28 @@
isa
=
PBXContainerItemProxy
;
containerPortal
=
633BD69D0D2ACE520012A314
/* VLCKit.xcodeproj */
;
proxyType
=
2
;
remoteGlobalIDString
=
8DC2EF5B0486A6940098B216
/* VLCKit.framework */
;
remoteGlobalIDString
=
8DC2EF5B0486A6940098B216
;
remoteInfo
=
VLCKit
;
};
632F3C250D316FAD003BBC56
/* PBXContainerItemProxy */
=
{
isa
=
PBXContainerItemProxy
;
containerPortal
=
633BD69D0D2ACE520012A314
/* VLCKit.xcodeproj */
;
proxyType
=
1
;
remoteGlobalIDString
=
8DC2EF4F0486A6940098B216
/* VLCKit */
;
remoteGlobalIDString
=
8DC2EF4F0486A6940098B216
;
remoteInfo
=
VLCKit
;
};
632F3C270D316FB5003BBC56
/* PBXContainerItemProxy */
=
{
isa
=
PBXContainerItemProxy
;
containerPortal
=
29B97313FDCFA39411CA2CEA
/* Project object */
;
proxyType
=
1
;
remoteGlobalIDString
=
8D1107260486CEB800E47090
/* VLC */
;
remoteGlobalIDString
=
8D1107260486CEB800E47090
;
remoteInfo
=
VLC
;
};
632F3CC50D318E3A003BBC56
/* PBXContainerItemProxy */
=
{
isa
=
PBXContainerItemProxy
;
containerPortal
=
633BD69D0D2ACE520012A314
/* VLCKit.xcodeproj */
;
proxyType
=
1
;
remoteGlobalIDString
=
633BD6D20D2ADE040012A314
/* vlc-contrib-core-framework */
;
remoteGlobalIDString
=
633BD6D20D2ADE040012A314
;
remoteInfo
=
"vlc-contrib-core-framework"
;
};
/* End PBXContainerItemProxy section */
...
...
@@ -103,6 +104,7 @@
29B97324FDCFA39411CA2CEA
/* AppKit.framework */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
wrapper.framework
;
name
=
AppKit.framework
;
path
=
/System/Library/Frameworks/AppKit.framework
;
sourceTree
=
"<absolute>"
;
};
29B97325FDCFA39411CA2CEA
/* Foundation.framework */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
wrapper.framework
;
name
=
Foundation.framework
;
path
=
/System/Library/Frameworks/Foundation.framework
;
sourceTree
=
"<absolute>"
;
};
32CA4F630368D1EE00C91783
/* VLC_Prefix.pch */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
sourcecode.c.h
;
path
=
VLC_Prefix.pch
;
sourceTree
=
"<group>"
;
};
632F3E250D326FF0003BBC56
/* pause.png */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
image.png
;
name
=
pause.png
;
path
=
../Resources/pause.png
;
sourceTree
=
SOURCE_ROOT
;
};
633BD4AA0D2A90470012A314
/* VLCValueTransformer.m */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
sourcecode.c.objc
;
name
=
VLCValueTransformer.m
;
path
=
Sources/VLCValueTransformer.m
;
sourceTree
=
"<group>"
;
};
633BD4AB0D2A90470012A314
/* VLCValueTransformer.h */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
sourcecode.c.h
;
name
=
VLCValueTransformer.h
;
path
=
Sources/VLCValueTransformer.h
;
sourceTree
=
"<group>"
;
};
633BD4AC0D2A90470012A314
/* VLCMediaArrayController.m */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
sourcecode.c.objc
;
name
=
VLCMediaArrayController.m
;
path
=
Sources/VLCMediaArrayController.m
;
sourceTree
=
"<group>"
;
};
...
...
@@ -317,6 +319,7 @@
63E380A90D1C65A600FD6958
/* volume_low.png */
,
63E380AC0D1C65D100FD6958
/* play.png */
,
63E380AD0D1C65D100FD6958
/* play_blue.png */
,
632F3E250D326FF0003BBC56
/* pause.png */
,
63E380B00D1C65F200FD6958
/* skip_forward_active.png */
,
63E380B10D1C65F200FD6958
/* skip_forward_blue.png */
,
63E380B40D1C65FC00FD6958
/* skip_previous_active.png */
,
...
...
@@ -401,6 +404,7 @@
63874B190D25960600F738AD
/* MainWindow.xib in Resources */
,
633BD4DA0D2A90C80012A314
/* dialog-error.png in Resources */
,
633BD4DB0D2A90C80012A314
/* applications-internet.png in Resources */
,
632F3E260D326FF0003BBC56
/* pause.png in Resources */
,
);
runOnlyForDeploymentPostprocessing
=
0
;
};
...
...
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