Commit Graph

131 Commits

Author SHA1 Message Date
Marvin Scholz 0ee9a18be9 macOS: Add swapoutOverride function to CompatibilityFixes
This adds a swaputOverride function, which swaps out the implementation
of a overridden method of a Class with its base implementation from the
superclass.
2017-06-22 23:46:58 +02:00
Marvin Scholz feb988820f macOS: Add VLCPopUpButtonCell 2017-06-22 20:53:49 +02:00
Marvin Scholz 4872354cac macOS: Add VLCHUDSegmentedCell 2017-06-13 23:27:27 +02:00
Marvin Scholz 5286f0c919 macOS: Add VLCHUDOutlineView 2017-06-13 23:27:27 +02:00
Marvin Scholz ae034811e7 macOS: Add VLCHUDScroller 2017-06-13 23:27:27 +02:00
Marvin Scholz cecb49ed65 macOS: Unify VLCHUDToggleButton/VLCHUDImageButton to VLCImageButton
The implementation of these buttons is nearly the same, so it makes no
sense to have separate classes for them.

Only reason to do so, was the inability to get the button type, which
for now is worked-around by using an IBInspectable BOOL that has to be
set, if the button is a toggle button.

Not the nicest solution, but there is no better way, as far as I know.
2017-06-01 13:43:59 +02:00
Marvin Scholz d152a621f1 macOS: Move VLCTimeField out of misc
This moves the VLCTimeField class in their own files, out of misc.
2017-06-01 12:00:59 +02:00
David Fuhrmann 157e52faef macosx: Fix VLC.app build
Fixes build of VLC.app bundle, by making sure to copy all
needed ressources.
2017-05-29 22:00:31 +02:00
David Fuhrmann a3a3ebbe73 macosx: Remove Makefile recursion, change xib compilation
xib compilation is changed to be not triggered if macosx module
is not built.
2017-05-24 16:01:44 +02:00
David Fuhrmann e75e8fe0ed macosx: Revive error panel for error and warning messages
VLC needs a list of errors as multiple errors can occur at the
same time.
This revives the existing error panel from
e3f2ec3e00.

refs #17262
2017-04-14 12:34:00 +02:00
Marvin Scholz f4bced161a macOS: Move NSScreen category to its own file 2017-03-16 13:12:39 +01:00
Marvin Scholz 2e87ed387f macOS: Move NSSound category to its own file
This makes it easier to find the relevant code and
additionally has the benefit that imports can be more fine-grained
in the future, instead of just having one misc.h import,
where it is hard to know, without looking at it, what it is
actually needed for.
2017-03-16 09:15:29 +01:00
Marvin Scholz 4a22637a34 macOS: Move some classes to their own files
Put VLCSimplePrefsWindow and VLCHotkeyChangeWindow in their own files
as they do not belong inside the VLCSimplePrefsController and makes
it easier to find these classes.
2017-03-15 14:43:32 +01:00
Marvin Scholz ad63b98e0e macOS: Rename simple_prefs to VLCSimplePrefsController
VLCSimplePrefsController describes better what it is.
2017-03-15 14:42:20 +01:00
Marvin Scholz 4dad042e6e macOS: Remove BWQuincyKit crash reporter
Breakpad is used now, so Quincy is no longer necessary.
2017-03-15 14:09:15 +01:00
Cameron Mozie 6b11e86356 macOS: Add image button classes 2017-02-28 22:07:33 +01:00
Jean-Baptiste Kempf 6c5913950d Makefile: remove unneeded ifdef for DARWIN 2017-02-22 18:54:18 +01:00
Jean-Baptiste Kempf c021687644 macOS: don't install images on non-Darwin systems 2017-02-22 15:49:01 +01:00
Marvin Scholz 475d57d04c macOS: Simplify buildsystem, fix VLC.app
This simplifies package.mak by removing unnecessary VLC-tmp,
making VLC.app properly depend on install and removing the
VLC-dev.app, as VLC can now be run with the pseudo-bundle
from command-line for development.
2017-02-19 23:37:46 +01:00
Marvin Scholz 884c8d0694 macOS: Remove unnecessary .nib suffix from Makefile 2017-02-18 17:51:56 +01:00
Jean-Baptiste Kempf af316abf68 macOS: factor out the Frameworks path definitions 2017-02-18 12:49:10 +01:00
Marvin Scholz d2324e20a2 macOS: Restructure images a bit
This renames the very generic-named icons folder to better match
what it actually contains, File Icons.
App Icons are moved to their own folder as they are not file icons.
This matches the new structure in Xcode better too.
Pref icons folder is renamed to match other folder names and the icons
are renamed to have a simpler name.
2017-02-10 16:53:01 +01:00
Marvin Scholz de070b03d3 macOS: Move Button icons all to one folder
This moves the button icons (PDF template images) all to one folder
so it is easier to find them in the sources and having them separate
does not make much sense anyway, given that these icons were not
 exclusively used by the menu bar icon.
2017-02-10 16:09:46 +01:00
Marvin Scholz 0f648d4091 macOS: Build script changes 2017-02-09 22:53:24 +01:00
Marvin Scholz 344d85748e macOS: Remove all BGHUD classes from XIBs
This is done in preparation for more minimal replacement
classes that do custom drawing for OS X < 10.10 and on
10.10+ we will use the native translucent dark UI provided
by the system.

Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
2017-01-31 16:59:29 +01:00
David Fuhrmann 76f12cba4c macosx: Limit fullscreen panel to video content area
Limit dragging / moving of fullscreen panel to video content area.
This forbids dragging the fspanel outside of fullscreen. Also make
sure that the fs panel stays inside the video view if dragged, in
case the video view is smaller then the complete screen (this can
happen with macOS split screen feature).
2017-01-05 19:39:38 +01:00
Marvin Scholz d986f8abb7 macosx: Add VLCDefaultValueSlider
This is a new VLCDefaultSlider which allows setting a default
value, to which the knob will snap and a tick mark will be drawn for.
It's useful in VLC for things like volume sliders, which have a
default value (100%) to which we want the slider to snap.
Additionally this class is controllable with the scrollwheel by default.
2016-12-16 01:44:57 +01:00
Felix Paul Kühne 29f0e2ec87 macosx: remove EyeTV UI 2016-12-04 11:59:04 +01:00
Marvin Scholz 3da0d0c218 macosx: Remove old fscontroller source code
Removes the old VLCFSPanel, and references to the
source files from the makefiles, potfiles and
the Xcode project.
2016-10-30 22:45:13 +01:00
Marvin Scholz 43b089ca74 macosx: Add a new fullscreen controller
This introduces a new fullscreen controller
which uses NSVisualEffectView for it's background
and the icons that are used throughout the rest of
the macOS user interface, hence making it more
consistent with the overall look of VLC.

Additionally the new fullscreen controller is
resizable and, as it already used to be, can be
move around on the screen.

The user interface is now described in a interface
builder file (xib) instead of doing everything in
code. This allows easy usage of autolayout, which
is heavily used to allow adaption of the
buttons/sliders depending on the panel width and
height.
2016-10-30 22:44:29 +01:00
David Fuhrmann a071bc7c4f macosx: clear resume points as well once the user clear recent items list 2016-10-09 00:44:55 +02:00
David Fuhrmann ffe133894a macosx: Split into VLCTextfieldPanelController and VLCPopupPanelController 2016-09-02 00:03:43 +02:00
David Fuhrmann e76f7235ce macosx: Rename to VLCMainWindowTitleView 2016-09-02 00:03:43 +02:00
David Fuhrmann 2c9af700a1 macosx: Rename to VLCKeyboardBlacklightControl 2016-09-02 00:03:43 +02:00
David Fuhrmann aa373d36fc macosx: Rename to VLCExtensionsManager 2016-09-02 00:03:43 +02:00
David Fuhrmann e1df0389e2 macosx: Rename to VLCExtensionsDialogProvider 2016-09-02 00:03:43 +02:00
Felix Paul Kühne eb435f00d7 macosx: split controls bar in common and main window files 2016-08-10 20:07:43 +02:00
Felix Paul Kühne e0dfd83141 macosx: rename VLCMain source file and split out VLCApplication class 2016-08-10 20:00:09 +02:00
Felix Paul Kühne c751c847de macosx: rename VLCMain preferences category 2016-08-10 19:50:10 +02:00
David Fuhrmann 4e2ba724a4 macosx: rename to VLCVoutView 2016-08-08 18:54:50 +02:00
David Fuhrmann 1dd8f84ade macosx: rename to VLCFSPanel 2016-08-08 18:52:33 +02:00
David Fuhrmann 70ccad7d47 macosx: rename to VLCStringUtility 2016-08-08 18:47:29 +02:00
David Fuhrmann f664df304c macosx: rename to VLCPLModel 2016-08-08 18:47:29 +02:00
David Fuhrmann a8fa773dad macosx: rename to VLCPLItem 2016-08-08 18:47:29 +02:00
David Fuhrmann 829d2a02cd macosx: rename to VLCOutput 2016-08-08 18:47:29 +02:00
David Fuhrmann 480a48941e macosx: Rename to VLCOpenWindowController 2016-08-08 18:47:29 +02:00
David Fuhrmann 0daa49d2a7 macosx: rename to VLCCoreInteraction 2016-08-08 18:47:29 +02:00
David Fuhrmann fa6c44e129 macosx: rename to VLCConvertAndSaveWindowController 2016-08-08 18:47:29 +02:00
David Fuhrmann f49de4e416 macosx: Rename to VLCAddonListItem 2016-08-08 18:47:29 +02:00
David Fuhrmann 6939841f64 macosx: rename to VLCMainMenu 2016-08-08 18:47:29 +02:00
David Fuhrmann 9f1c21dd30 macosx: rename to VLCAddonsWindowController 2016-08-08 18:47:29 +02:00
David Fuhrmann edfe6050f1 macosx: rename to VLCHelpWindowController 2016-08-08 18:47:29 +02:00
David Fuhrmann 4904b1c899 macosx: rename to VLCAboutWindowController 2016-08-08 18:47:29 +02:00
David Fuhrmann bf31e1f5d4 macosx: rename to VLCDebugMessageWindowController 2016-08-08 18:47:29 +02:00
David Fuhrmann 80b2257114 macosx: Rename to VLCInputManager 2016-08-08 18:47:29 +02:00
David Fuhrmann b1c445b643 macosx: rename to VLCMainWindow 2016-08-08 18:47:29 +02:00
David Fuhrmann 8eba6a8243 macosx: rename to VLCTrackSynchronizationWindowController 2016-08-08 18:47:29 +02:00
David Fuhrmann c6fdee6977 macosx: rename to VLCResumeDialogController 2016-08-08 18:47:29 +02:00
David Fuhrmann b3e1b006e4 macosx: rename to VLCVideoEffectsWindowController 2016-08-08 18:47:29 +02:00
David Fuhrmann 39a5afd23f macosx: rename to VLCAudioEffectsWindowController 2016-08-08 18:47:29 +02:00
David Fuhrmann 36f6db3725 macosx: rename to VLCBookmarksWindowController 2016-08-08 18:47:29 +02:00
David Fuhrmann fa1f5d024e macosx: rename eyetv to VLCEyeTvController 2016-08-08 18:47:29 +02:00
David Fuhrmann 92e11edb6f macosx: rename coredialogs.x to VLCCoreDialogProvider.x 2016-08-08 18:47:29 +02:00
David Fuhrmann c53156c5af macosx: Split HelpWindowController and AboutWindowController into separate files 2016-08-08 18:47:29 +02:00
Marvin Scholz 6f2093a7e4 macosx: Add Renderer Dialog
This adds a dialog to choose a renderer discovered with VLCRendererDiscovery, this allows for example to render to Chromecast in the future.

Additionally edited the Makefile for the new classes to be compiled.

Signed-off-by: Felix Paul Kühne <fkuehne@videolan.org>
2016-06-17 17:10:44 +02:00
Felix Paul Kühne 183373239d macosx: remove QTKit dependency and replace by AVFoundation 2016-06-14 02:02:57 +02:00
Marvin Scholz ecb8179d5d macosx: Add new VLCHUD classes to Makefile
Signed-off-by: Felix Paul Kühne <fkuehne@videolan.org>
2016-06-05 11:56:21 +02:00
Marvin Scholz 05117f1272 macosx: Add dark UI Elements for use on HUD Panels
This adds a dark Button, Checkbox, Radiobutton and Slider Cell
for use on dark HUD Panels (like the Audio and Video effects panels)

Signed-off-by: Felix Paul Kühne <fkuehne@videolan.org>
2016-06-05 11:56:21 +02:00
Goran Dokic d276418d0d macosx: add status bar menu
Signed-off-by: Felix Paul Kühne <fkuehne@videolan.org>
2016-02-02 11:37:40 +01:00
Marvin Scholz e9db84d774 macosx: Rename the Playlist related class files to match the class name
This renames the playlist related class files to match the class name,
which makes it easier to find the which belongs to a certain class and
follows common Cocoa/Obj C file naming conventions.

Signed-off-by: Felix Paul Kühne <fkuehne@videolan.org>
2015-10-12 16:46:00 +02:00
Marvin Scholz 1f44f44376 macosx: Rewrote the About window auto-scroll behavior
It was impossible to scroll in the About Scroll Views as the code
was doing automatic scrolling. This patch removes all the related
code and introduces a new NSClipView subclass that handles the
automatic scrolling. If it detects that the user scrolls, the
animation is stopped and the user can scroll it as he wishes.

Signed-off-by: Felix Paul Kühne <fkuehne@videolan.org>
2015-10-09 12:28:55 +02:00
Felix Paul Kühne 371695c615 macosx: added support for the CAOpenGLLayer vout
Note that this won't work if the video output is embedded in the main window

This is done mainly for debug purposes for now
2015-10-05 20:02:27 +02:00
David Fuhrmann ffe31745fc macosx: Split GoToTime panel into separate xib and window controller
This improves separation between main menu and the unrelated goto
time window.

Besides that, note that each time bindings are used with the file
owner, this owner needs to be an NSWindowController class. Only in
this case retain cycles are avoided (bindings have a strong
reference to the object used).

Thus, this commit helps to properly deinitialize the VLCMain object.
2015-08-11 20:17:56 +02:00
Felix Paul Kühne 896af425f9 macosx: split playlist source file 2015-07-22 14:49:32 +02:00
Felix Paul Kühne f450457875 macosx: refactor main class object life management and main menu 2015-07-21 17:51:43 +02:00
Felix Paul Kühne db62975cad macosx: split main interface class 2015-07-21 14:16:02 +02:00
Felix Paul Kühne 2b8c207c44 macosx: remove streaming & transcoding wizard in favor of the modern Convert & Save/Stream dialog 2015-07-15 19:52:07 +02:00
Felix Paul Kühne bb15c81583 macosx: switch to automated reference counting (refs #2813) 2015-07-14 22:11:09 +02:00
David Fuhrmann dcb7543ff8 macosx: Create custom resume dialog, refactor
Create own resume dialog, which acts the same way as a floating
window. Thus it does not disturb the user more than any
other VLC panel and consequently does not block the user in doing
other operations.

This fixes floating behaviour (#13886) any makes it more easy
to implement any other fancy_dialog_whatever we might add later.
Current design is a copy of the currently used alert window.

Also raised the timeout value to 10 secs as users are complaining
6 sec is not long enough.

close #13886
2015-07-11 14:45:31 +02:00
David Fuhrmann 0eaddd99fb macosx: Move input-related code to own class 2015-06-27 19:38:30 +02:00
David Fuhrmann ff55f00c53 macosx: Remove Modules.am and add Makefile.am directly 2015-06-24 22:52:44 +02:00