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
8db7da13
Commit
8db7da13
authored
Sep 12, 2012
by
Felix Paul Kühne
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
macosx: added 2 new classes for generic dialogs to enter text or to select stuff in a popup
parent
86486412
Changes
6
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
1380 additions
and
2 deletions
+1380
-2
extras/package/macosx/Resources/English.lproj/SharedDialogs.xib
.../package/macosx/Resources/English.lproj/SharedDialogs.xib
+1134
-0
extras/package/macosx/vlc.xcodeproj/project.pbxproj
extras/package/macosx/vlc.xcodeproj/project.pbxproj
+16
-0
modules/gui/macosx/Modules.am
modules/gui/macosx/Modules.am
+2
-1
modules/gui/macosx/SharedDialogs.h
modules/gui/macosx/SharedDialogs.h
+97
-0
modules/gui/macosx/SharedDialogs.m
modules/gui/macosx/SharedDialogs.m
+129
-0
modules/gui/macosx/intf.m
modules/gui/macosx/intf.m
+2
-1
No files found.
extras/package/macosx/Resources/English.lproj/SharedDialogs.xib
0 → 100644
View file @
8db7da13
This diff is collapsed.
Click to expand it.
extras/package/macosx/vlc.xcodeproj/project.pbxproj
View file @
8db7da13
...
...
@@ -258,6 +258,7 @@
CC402F440E00ABBB006A4BA4
/* WebKit.framework in Frameworks */
=
{
isa
=
PBXBuildFile
;
fileRef
=
CC962E2C0CC7992800A56695
/* WebKit.framework */
;
};
CC426FD11020D44F00A32659
/* Sparkle.framework in Frameworks */
=
{
isa
=
PBXBuildFile
;
fileRef
=
CC426FD01020D44F00A32659
/* Sparkle.framework */
;
};
CC426FD71020D47100A32659
/* Sparkle.framework in Copy Frameworks */
=
{
isa
=
PBXBuildFile
;
fileRef
=
CC426FD01020D44F00A32659
/* Sparkle.framework */
;
};
CC461F75160084A10022423C
/* SharedDialogs.xib in Resources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
CC461F73160084A10022423C
/* SharedDialogs.xib */
;
};
CC4EFC2D13E96BD00091D19A
/* dropzone.png in Resources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
CC4EFC2C13E96BD00091D19A
/* dropzone.png */
;
};
CC5800F51423A80400166912
/* bottombar-mini.png in Resources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
CC5800F41423A80400166912
/* bottombar-mini.png */
;
};
CC5800F71423A81500166912
/* bottombar-mini.png in Resources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
CC5800F61423A81500166912
/* bottombar-mini.png */
;
};
...
...
@@ -745,6 +746,9 @@
CC448A6113B68A0B009F72E0
/* CoreInteraction.m */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.c.objc
;
name
=
CoreInteraction.m
;
path
=
../../../modules/gui/macosx/CoreInteraction.m
;
sourceTree
=
"<group>"
;
};
CC448A6213B68A0B009F72E0
/* MainWindow.h */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.c.h
;
name
=
MainWindow.h
;
path
=
../../../modules/gui/macosx/MainWindow.h
;
sourceTree
=
"<group>"
;
};
CC448A6313B68A0B009F72E0
/* MainWindow.m */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.c.objc
;
name
=
MainWindow.m
;
path
=
../../../modules/gui/macosx/MainWindow.m
;
sourceTree
=
"<group>"
;
};
CC461F6C160078340022423C
/* SharedDialogs.h */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
sourcecode.c.h
;
name
=
SharedDialogs.h
;
path
=
../../../modules/gui/macosx/SharedDialogs.h
;
sourceTree
=
"<group>"
;
};
CC461F6D160078340022423C
/* SharedDialogs.m */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
sourcecode.c.objc
;
name
=
SharedDialogs.m
;
path
=
../../../modules/gui/macosx/SharedDialogs.m
;
sourceTree
=
"<group>"
;
};
CC461F74160084A10022423C
/* English */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
file.xib
;
name
=
English
;
path
=
Resources/English.lproj/SharedDialogs.xib
;
sourceTree
=
"<group>"
;
};
CC4A33210F8CB017000FC4A7
/* coredialogs.m */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
sourcecode.c.objc
;
name
=
coredialogs.m
;
path
=
../../../modules/gui/macosx/coredialogs.m
;
sourceTree
=
SOURCE_ROOT
;
};
CC4A33220F8CB017000FC4A7
/* coredialogs.h */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
sourcecode.c.h
;
name
=
coredialogs.h
;
path
=
../../../modules/gui/macosx/coredialogs.h
;
sourceTree
=
SOURCE_ROOT
;
};
CC4D67F71348F601003FCC5B
/* darwin_specific.c */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.c.c
;
name
=
darwin_specific.c
;
path
=
../../../src/posix/darwin_specific.c
;
sourceTree
=
"<group>"
;
};
...
...
@@ -1094,6 +1098,8 @@
CC0663351566C34C003A411C
/* ConvertAndSave.m */
,
CC269A4615E7947F00F2FDC9
/* StringUtility.h */
,
CC269A4715E7947F00F2FDC9
/* StringUtility.m */
,
CC461F6C160078340022423C
/* SharedDialogs.h */
,
CC461F6D160078340022423C
/* SharedDialogs.m */
,
CC017A0E14A4C8B600C09A4F
/* custom UI code */
,
CC0CD0E513DE0FC600B0D90D
/* Imported Code */
,
);
...
...
@@ -1718,6 +1724,7 @@
CCD83E4213FEA143004F1652
/* Wizard.xib */
,
CCD83E2B13FE9B90004F1652
/* MainMenu.xib */
,
CC0663371566CD5A003A411C
/* ConvertAndSave.xib */
,
CC461F73160084A10022423C
/* SharedDialogs.xib */
,
);
name
=
xibs
;
sourceTree
=
"<group>"
;
...
...
@@ -2187,6 +2194,7 @@
CC16700215F5178B0088201B
/* forward-6btns-dark-pressed@2x.png in Resources */
,
CC16700315F5178B0088201B
/* forward-6btns-dark.png in Resources */
,
CC16700415F5178B0088201B
/* forward-6btns-dark@2x.png in Resources */
,
CC461F75160084A10022423C
/* SharedDialogs.xib in Resources */
,
);
runOnlyForDeploymentPostprocessing
=
0
;
};
...
...
@@ -2201,6 +2209,14 @@
name
=
ConvertAndSave.xib
;
sourceTree
=
"<group>"
;
};
CC461F73160084A10022423C
/* SharedDialogs.xib */
=
{
isa
=
PBXVariantGroup
;
children
=
(
CC461F74160084A10022423C
/* English */
,
);
name
=
SharedDialogs.xib
;
sourceTree
=
"<group>"
;
};
CCD83E2B13FE9B90004F1652
/* MainMenu.xib */
=
{
isa
=
PBXVariantGroup
;
children
=
(
...
...
modules/gui/macosx/Modules.am
View file @
8db7da13
...
...
@@ -78,5 +78,6 @@ SOURCES_macosx = \
MainWindowTitle.m \
ConvertAndSave.h \
ConvertAndSave.m \
SharedDialogs.h \
SharedDialogs.m \
$(NULL)
modules/gui/macosx/SharedDialogs.h
0 → 100644
View file @
8db7da13
/*****************************************************************************
* SharedDialogs.h: MacOS X interface module
*****************************************************************************
* Copyright (C) 2012 Felix Paul Kühne
* $Id$
*
* Authors: Felix Paul Kühne <fkuehne -at- videolan -dot- org>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
*****************************************************************************/
#import <Cocoa/Cocoa.h>
@interface
VLCEnterTextPanel
:
NSObject
{
IBOutlet
id
_panel
;
IBOutlet
id
_title_lbl
;
IBOutlet
id
_subtitle_lbl
;
IBOutlet
id
_text_fld
;
IBOutlet
id
_cancel_btn
;
IBOutlet
id
_ok_btn
;
NSString
*
_title
;
NSString
*
_subtitle
;
NSString
*
_okTitle
;
NSString
*
_cancelTitle
;
id
_target
;
}
+
(
VLCEnterTextPanel
*
)
sharedInstance
;
@property
(
readwrite
,
assign
)
NSString
*
title
;
@property
(
readwrite
,
assign
)
NSString
*
subTitle
;
@property
(
readwrite
,
assign
)
NSString
*
OKButtonLabel
;
@property
(
readwrite
,
assign
)
NSString
*
CancelButtonLabel
;
@property
(
readwrite
,
assign
)
id
target
;
@property
(
readonly
)
NSString
*
enteredText
;
-
(
void
)
runModalForWindow
:(
NSWindow
*
)
window
;
-
(
IBAction
)
windowElementAction
:(
id
)
sender
;
@end
@protocol
VLCEnterTextPanel
<
NSObject
>
@optional
-
(
void
)
panel
:(
VLCEnterTextPanel
*
)
view
returnValue
:(
NSUInteger
)
value
text
:(
NSString
*
)
text
;
@end
@interface
VLCSelectItemInPopupPanel
:
NSObject
{
IBOutlet
id
_panel
;
IBOutlet
id
_title_lbl
;
IBOutlet
id
_subtitle_lbl
;
IBOutlet
id
_pop
;
IBOutlet
id
_cancel_btn
;
IBOutlet
id
_ok_btn
;
NSString
*
_title
;
NSString
*
_subtitle
;
NSString
*
_okTitle
;
NSString
*
_cancelTitle
;
NSArray
*
_popData
;
id
_target
;
}
+
(
VLCSelectItemInPopupPanel
*
)
sharedInstance
;
@property
(
readwrite
,
assign
)
NSString
*
title
;
@property
(
readwrite
,
assign
)
NSString
*
subTitle
;
@property
(
readwrite
,
assign
)
NSString
*
OKButtonLabel
;
@property
(
readwrite
,
assign
)
NSString
*
CancelButtonLabel
;
@property
(
readwrite
,
assign
)
NSArray
*
popupButtonContent
;
@property
(
readwrite
,
assign
)
id
target
;
@property
(
readonly
)
NSUInteger
currentItem
;
-
(
void
)
runModalForWindow
:(
NSWindow
*
)
window
;
-
(
IBAction
)
windowElementAction
:(
id
)
sender
;
@end
@protocol
VLCSelectItemInPopupPanel
<
NSObject
>
@optional
-
(
void
)
panel
:(
VLCSelectItemInPopupPanel
*
)
panel
returnValue
:(
NSUInteger
)
value
item
:(
NSUInteger
)
item
;
@end
modules/gui/macosx/SharedDialogs.m
0 → 100644
View file @
8db7da13
/*****************************************************************************
* SharedDialogs.m: MacOS X interface module
*****************************************************************************
* Copyright (C) 2012 Felix Paul Kühne
* $Id$
*
* Authors: Felix Paul Kühne <fkuehne -at- videolan -dot- org>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
*****************************************************************************/
#import "SharedDialogs.h"
static
VLCEnterTextPanel
*
_textPanelInstance
=
nil
;
static
VLCSelectItemInPopupPanel
*
_selectItemPanelInstance
=
nil
;
@implementation
VLCEnterTextPanel
+
(
VLCEnterTextPanel
*
)
sharedInstance
{
return
_textPanelInstance
?
_textPanelInstance
:
[[
self
alloc
]
init
];
}
-
(
id
)
init
{
if
(
_textPanelInstance
)
[
self
dealloc
];
else
_textPanelInstance
=
[
super
init
];
return
_textPanelInstance
;
}
@synthesize
title
=
_title
,
subTitle
=
_subtitle
,
OKButtonLabel
=
_okTitle
,
CancelButtonLabel
=
_cancelTitle
,
target
=
_target
;
-
(
IBAction
)
windowElementAction
:(
id
)
sender
{
[
_panel
orderOut
:
sender
];
[
NSApp
endSheet
:
_panel
];
if
(
self
.
target
)
{
if
([
self
.
target
respondsToSelector
:
@selector
(
panel
:
returnValue
:
text
:
)])
{
if
(
sender
==
_cancel_btn
)
[
self
.
target
panel
:
self
returnValue
:
NSCancelButton
text
:
NULL
];
else
[
self
.
target
panel
:
self
returnValue
:
NSOKButton
text
:
self
.
enteredText
];
}
}
}
-
(
void
)
runModalForWindow
:(
NSWindow
*
)
window
{
[
_title_lbl
setStringValue
:
self
.
title
];
[
_subtitle_lbl
setStringValue
:
self
.
subTitle
];
[
_cancel_btn
setTitle
:
self
.
CancelButtonLabel
];
[
_ok_btn
setTitle
:
self
.
OKButtonLabel
];
[
_text_fld
setStringValue
:
@""
];
[
NSApp
beginSheet
:
_panel
modalForWindow
:
window
modalDelegate
:
self
didEndSelector
:
NULL
contextInfo
:
nil
];
}
-
(
NSString
*
)
enteredText
{
return
[
_text_fld
stringValue
];
}
@end
@implementation
VLCSelectItemInPopupPanel
@synthesize
title
=
_title
,
subTitle
=
_subtitle
,
OKButtonLabel
=
_okTitle
,
CancelButtonLabel
=
_cancelTitle
,
popupButtonContent
=
_popData
,
target
=
_target
;
+
(
VLCSelectItemInPopupPanel
*
)
sharedInstance
{
return
_selectItemPanelInstance
?
_selectItemPanelInstance
:
[[
self
alloc
]
init
];
}
-
(
id
)
init
{
if
(
_selectItemPanelInstance
)
[
self
dealloc
];
else
_selectItemPanelInstance
=
[
super
init
];
return
_selectItemPanelInstance
;
}
-
(
IBAction
)
windowElementAction
:(
id
)
sender
{
[
_panel
orderOut
:
sender
];
[
NSApp
endSheet
:
_panel
];
if
(
self
.
target
)
{
if
([
self
.
target
respondsToSelector
:
@selector
(
panel
:
returnValue
:
item
:
)])
{
if
(
sender
==
_cancel_btn
)
[
self
.
target
panel
:
self
returnValue
:
NSCancelButton
item
:
0
];
else
[
self
.
target
panel
:
self
returnValue
:
NSOKButton
item
:
self
.
currentItem
];
}
}
}
-
(
void
)
runModalForWindow
:(
NSWindow
*
)
window
{
[
_title_lbl
setStringValue
:
self
.
title
];
[
_subtitle_lbl
setStringValue
:
self
.
subTitle
];
[
_cancel_btn
setTitle
:
self
.
CancelButtonLabel
];
[
_ok_btn
setTitle
:
self
.
OKButtonLabel
];
[
_pop
removeAllItems
];
[
_pop
addItemsWithTitles
:
self
.
popupButtonContent
];
[
NSApp
beginSheet
:
_panel
modalForWindow
:
window
modalDelegate
:
self
didEndSelector
:
NULL
contextInfo
:
nil
];
}
-
(
NSUInteger
)
currentItem
{
return
[
_pop
indexOfSelectedItem
];
}
@end
modules/gui/macosx/intf.m
View file @
8db7da13
...
...
@@ -593,8 +593,9 @@ static VLCMain *_o_sharedMainInstance = nil;
var_SetBool
(
p_playlist
,
"fullscreen"
,
YES
);
}
/* load our Core
Dialogs nib
*/
/* load our Core
and Shared Dialogs nibs
*/
nib_coredialogs_loaded
=
[
NSBundle
loadNibNamed
:
@"CoreDialogs"
owner
:
NSApp
];
[
NSBundle
loadNibNamed
:
@"SharedDialogs"
owner
:
NSApp
];
/* subscribe to various interactive dialogues */
var_Create
(
p_intf
,
"dialog-error"
,
VLC_VAR_ADDRESS
);
...
...
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