[vlc-commits] macosx: open panel: react on standard modal responses as well
David Fuhrmann
git at videolan.org
Fri Feb 3 10:52:23 CET 2017
vlc | branch: master | David Fuhrmann <dfuhrmann at videolan.org> | Thu Feb 2 17:32:25 2017 +0100| [1c0aee2d072a8b5ccc2333137e2ed71a6129db9b] | committer: David Fuhrmann
macosx: open panel: react on standard modal responses as well
Standard response NSModalResponseStop is send on sigterm and lead
to expection because of invalid MRL.
Also deintent code.
> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=1c0aee2d072a8b5ccc2333137e2ed71a6129db9b
---
modules/gui/macosx/VLCOpenWindowController.m | 163 ++++++++++++++-------------
1 file changed, 82 insertions(+), 81 deletions(-)
diff --git a/modules/gui/macosx/VLCOpenWindowController.m b/modules/gui/macosx/VLCOpenWindowController.m
index 55177d6..c2f0942 100644
--- a/modules/gui/macosx/VLCOpenWindowController.m
+++ b/modules/gui/macosx/VLCOpenWindowController.m
@@ -382,104 +382,105 @@ struct display_info_t
// load window
[self window];
- int i_result;
-
[_tabView selectTabViewItemAtIndex: i_type];
[_fileSubCheckbox setState: NSOffState];
- i_result = [NSApp runModalForWindow: self.window];
+ int i_result = [NSApp runModalForWindow: self.window];
[self.window close];
- if (i_result) {
- NSMutableDictionary *itemOptionsDictionary;
- NSMutableArray *options = [NSMutableArray array];
+ // Check if dialog was canceled or stopped (NSModalResponseStop)
+ if (i_result <= 0)
+ return;
- itemOptionsDictionary = [NSMutableDictionary dictionaryWithObject: [self MRL] forKey: @"ITEM_URL"];
- if ([_fileSubCheckbox state] == NSOnState) {
- module_config_t * p_item;
- [options addObject: [NSString stringWithFormat: @"sub-file=%@", _subPath]];
- if ([_fileSubOverrideCheckbox state] == NSOnState) {
- [options addObject: [NSString stringWithFormat: @"sub-delay=%f", ([self fileSubDelay] * 10)]];
- [options addObject: [NSString stringWithFormat: @"sub-fps=%f", [self fileSubFps]]];
- }
- [options addObject: [NSString stringWithFormat:
- @"subsdec-encoding=%@", [[_fileSubEncodingPopup selectedItem] representedObject]]];
- [options addObject: [NSString stringWithFormat:
- @"subsdec-align=%li", [_fileSubAlignPopup indexOfSelectedItem]]];
+ NSMutableDictionary *itemOptionsDictionary;
+ NSMutableArray *options = [NSMutableArray array];
- p_item = config_FindConfig(VLC_OBJECT(getIntf()),
- "freetype-rel-fontsize");
+ itemOptionsDictionary = [NSMutableDictionary dictionaryWithObject: [self MRL] forKey: @"ITEM_URL"];
+ if ([_fileSubCheckbox state] == NSOnState) {
+ module_config_t * p_item;
- if (p_item) {
- [options addObject: [NSString stringWithFormat:
- @"freetype-rel-fontsize=%i",
- p_item->list.i[[_fileSubSizePopup indexOfSelectedItem]]]];
- }
+ [options addObject: [NSString stringWithFormat: @"sub-file=%@", _subPath]];
+ if ([_fileSubOverrideCheckbox state] == NSOnState) {
+ [options addObject: [NSString stringWithFormat: @"sub-delay=%f", ([self fileSubDelay] * 10)]];
+ [options addObject: [NSString stringWithFormat: @"sub-fps=%f", [self fileSubFps]]];
}
- if ([_fileCustomTimingCheckbox state] == NSOnState) {
- NSArray *components = [[_fileStartTimeTextField stringValue] componentsSeparatedByString:@":"];
- NSUInteger componentCount = [components count];
- NSInteger tempValue = 0;
- if (componentCount == 1)
- tempValue = [[components firstObject] intValue];
- else if (componentCount == 2)
- tempValue = [[components firstObject] intValue] * 60 + [[components objectAtIndex:1] intValue];
- else if (componentCount == 3)
- tempValue = [[components firstObject] intValue] * 3600 + [[components objectAtIndex:1] intValue] * 60 + [[components objectAtIndex:2] intValue];
- if (tempValue > 0)
- [options addObject: [NSString stringWithFormat:@"start-time=%li", tempValue]];
- components = [[_fileStopTimeTextField stringValue] componentsSeparatedByString:@":"];
- componentCount = [components count];
- if (componentCount == 1)
- tempValue = [[components firstObject] intValue];
- else if (componentCount == 2)
- tempValue = [[components firstObject] intValue] * 60 + [[components objectAtIndex:1] intValue];
- else if (componentCount == 3)
- tempValue = [[components firstObject] intValue] * 3600 + [[components objectAtIndex:1] intValue] * 60 + [[components objectAtIndex:2] intValue];
- if (tempValue != 0)
- [options addObject: [NSString stringWithFormat:@"stop-time=%li", tempValue]];
+ [options addObject: [NSString stringWithFormat:
+ @"subsdec-encoding=%@", [[_fileSubEncodingPopup selectedItem] representedObject]]];
+ [options addObject: [NSString stringWithFormat:
+ @"subsdec-align=%li", [_fileSubAlignPopup indexOfSelectedItem]]];
+
+ p_item = config_FindConfig(VLC_OBJECT(getIntf()),
+ "freetype-rel-fontsize");
+
+ if (p_item) {
+ [options addObject: [NSString stringWithFormat:
+ @"freetype-rel-fontsize=%i",
+ p_item->list.i[[_fileSubSizePopup indexOfSelectedItem]]]];
}
- if ([_outputCheckbox state] == NSOnState) {
- NSArray *soutMRL = [_output soutMRL];
- NSUInteger count = [soutMRL count];
- for (NSUInteger i = 0 ; i < count ; i++)
- [options addObject: [NSString stringWithString: [soutMRL objectAtIndex:i]]];
+ }
+ if ([_fileCustomTimingCheckbox state] == NSOnState) {
+ NSArray *components = [[_fileStartTimeTextField stringValue] componentsSeparatedByString:@":"];
+ NSUInteger componentCount = [components count];
+ NSInteger tempValue = 0;
+ if (componentCount == 1)
+ tempValue = [[components firstObject] intValue];
+ else if (componentCount == 2)
+ tempValue = [[components firstObject] intValue] * 60 + [[components objectAtIndex:1] intValue];
+ else if (componentCount == 3)
+ tempValue = [[components firstObject] intValue] * 3600 + [[components objectAtIndex:1] intValue] * 60 + [[components objectAtIndex:2] intValue];
+ if (tempValue > 0)
+ [options addObject: [NSString stringWithFormat:@"start-time=%li", tempValue]];
+ components = [[_fileStopTimeTextField stringValue] componentsSeparatedByString:@":"];
+ componentCount = [components count];
+ if (componentCount == 1)
+ tempValue = [[components firstObject] intValue];
+ else if (componentCount == 2)
+ tempValue = [[components firstObject] intValue] * 60 + [[components objectAtIndex:1] intValue];
+ else if (componentCount == 3)
+ tempValue = [[components firstObject] intValue] * 3600 + [[components objectAtIndex:1] intValue] * 60 + [[components objectAtIndex:2] intValue];
+ if (tempValue != 0)
+ [options addObject: [NSString stringWithFormat:@"stop-time=%li", tempValue]];
+ }
+ if ([_outputCheckbox state] == NSOnState) {
+ NSArray *soutMRL = [_output soutMRL];
+ NSUInteger count = [soutMRL count];
+ for (NSUInteger i = 0 ; i < count ; i++)
+ [options addObject: [NSString stringWithString: [soutMRL objectAtIndex:i]]];
+ }
+ if ([_fileSlaveCheckbox state] && _fileSlavePath)
+ [options addObject: [NSString stringWithFormat: @"input-slave=%@", _fileSlavePath]];
+ if ([[[_tabView selectedTabViewItem] label] isEqualToString: _NS("Capture")]) {
+ if ([[[_captureModePopup selectedItem] title] isEqualToString: _NS("Screen")]) {
+ int selected_index = [_screenPopup indexOfSelectedItem];
+ NSValue *v = [_displayInfos objectAtIndex:selected_index];
+ struct display_info_t *item = (struct display_info_t *)[v pointerValue];
+
+ [options addObject: [NSString stringWithFormat: @"screen-fps=%f", [_screenFPSTextField floatValue]]];
+ [options addObject: [NSString stringWithFormat: @"screen-display-id=%i", item->id]];
+ [options addObject: [NSString stringWithFormat: @"screen-left=%i", [_screenLeftTextField intValue]]];
+ [options addObject: [NSString stringWithFormat: @"screen-top=%i", [_screenTopTextField intValue]]];
+ [options addObject: [NSString stringWithFormat: @"screen-width=%i", [_screenWidthTextField intValue]]];
+ [options addObject: [NSString stringWithFormat: @"screen-height=%i", [_screenHeightTextField intValue]]];
+ if ([_screenFollowMouseCheckbox intValue] == YES)
+ [options addObject: @"screen-follow-mouse"];
+ else
+ [options addObject: @"no-screen-follow-mouse"];
+ if ([_screenqtkAudioCheckbox state] && _avCurrentAudioDeviceUID)
+ [options addObject: [NSString stringWithFormat: @"input-slave=qtsound://%@", _avCurrentAudioDeviceUID]];
}
- if ([_fileSlaveCheckbox state] && _fileSlavePath)
- [options addObject: [NSString stringWithFormat: @"input-slave=%@", _fileSlavePath]];
- if ([[[_tabView selectedTabViewItem] label] isEqualToString: _NS("Capture")]) {
- if ([[[_captureModePopup selectedItem] title] isEqualToString: _NS("Screen")]) {
- int selected_index = [_screenPopup indexOfSelectedItem];
- NSValue *v = [_displayInfos objectAtIndex:selected_index];
- struct display_info_t *item = (struct display_info_t *)[v pointerValue];
-
- [options addObject: [NSString stringWithFormat: @"screen-fps=%f", [_screenFPSTextField floatValue]]];
- [options addObject: [NSString stringWithFormat: @"screen-display-id=%i", item->id]];
- [options addObject: [NSString stringWithFormat: @"screen-left=%i", [_screenLeftTextField intValue]]];
- [options addObject: [NSString stringWithFormat: @"screen-top=%i", [_screenTopTextField intValue]]];
- [options addObject: [NSString stringWithFormat: @"screen-width=%i", [_screenWidthTextField intValue]]];
- [options addObject: [NSString stringWithFormat: @"screen-height=%i", [_screenHeightTextField intValue]]];
- if ([_screenFollowMouseCheckbox intValue] == YES)
- [options addObject: @"screen-follow-mouse"];
- else
- [options addObject: @"no-screen-follow-mouse"];
- if ([_screenqtkAudioCheckbox state] && _avCurrentAudioDeviceUID)
+ else if ([[[_captureModePopup selectedItem] title] isEqualToString: _NS("Input Devices")]) {
+ if ([_qtkVideoCheckbox state]) {
+ if ([_qtkAudioCheckbox state] && _avCurrentAudioDeviceUID)
[options addObject: [NSString stringWithFormat: @"input-slave=qtsound://%@", _avCurrentAudioDeviceUID]];
}
- else if ([[[_captureModePopup selectedItem] title] isEqualToString: _NS("Input Devices")]) {
- if ([_qtkVideoCheckbox state]) {
- if ([_qtkAudioCheckbox state] && _avCurrentAudioDeviceUID)
- [options addObject: [NSString stringWithFormat: @"input-slave=qtsound://%@", _avCurrentAudioDeviceUID]];
- }
- }
}
+ }
- /* apply the options to our item(s) */
- [itemOptionsDictionary setObject: (NSArray *)[options copy] forKey: @"ITEM_OPTIONS"];
+ /* apply the options to our item(s) */
+ [itemOptionsDictionary setObject: (NSArray *)[options copy] forKey: @"ITEM_OPTIONS"];
- [[[VLCMain sharedInstance] playlist] addPlaylistItems:[NSArray arrayWithObject:itemOptionsDictionary]];
- }
+ [[[VLCMain sharedInstance] playlist] addPlaylistItems:[NSArray arrayWithObject:itemOptionsDictionary]];
}
- (IBAction)screenChanged:(id)sender
More information about the vlc-commits
mailing list