[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [RFC PATCH v3 2/7] ui/cocoa: Remove allowedFileTypes restriction in
|
From: |
Roman Bolshakov |
|
Subject: |
Re: [RFC PATCH v3 2/7] ui/cocoa: Remove allowedFileTypes restriction in SavePanel |
|
Date: |
Mon, 10 Jan 2022 22:43:08 +0300 |
On Mon, Jan 10, 2022 at 02:09:56PM +0100, Philippe Mathieu-Daudé wrote:
> setAllowedFileTypes is deprecated in macOS 12.
>
> Per Akihiko Odaki [*]:
>
> An image file, which is being chosen by the panel, can be a
> raw file and have a variety of file extensions and many are not
> covered by the provided list (e.g. "udf"). Other platforms like
> GTK can provide an option to open a file with an extension not
> listed, but Cocoa can't.
>
> It forces the user to rename the file
> to give an extension in the list. Moreover, Cocoa does not tell
> which extensions are in the list so the user needs to read the
> source code, which is pretty bad.
>
> Since this code is harming the usability rather than improving it,
> simply remove the [NSSavePanel allowedFileTypes:] call, fixing:
>
Yes, it is an issue for raw images with extensions outside of the
specified list or for images without any extension.
Reviewed-by: Roman Bolshakov <r.bolshakov@yadro.com>
Tested-by: Roman Bolshakov <r.bolshakov@yadro.com>
Regards,
-Roman
> [2789/6622] Compiling Objective-C object libcommon.fa.p/ui_cocoa.m.o
> ui/cocoa.m:1411:16: error: 'setAllowedFileTypes:' is deprecated: first
> deprecated in macOS 12.0 - Use -allowedContentTypes instead
> [-Werror,-Wdeprecated-declarations]
> [openPanel setAllowedFileTypes: supportedImageFileTypes];
> ^
>
> /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSSavePanel.h:215:49:
> note: property 'allowedFileTypes' is declared deprecated here
> @property (nullable, copy) NSArray<NSString *> *allowedFileTypes
> API_DEPRECATED("Use -allowedContentTypes instead", macos(10.3,12.0));
> ^
>
> /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSSavePanel.h:215:49:
> note: 'setAllowedFileTypes:' has been explicitly marked deprecated here
> FAILED: libcommon.fa.p/ui_cocoa.m.o
>
> [*]
> 4dde2e66-63cb-4390-9538-c032310db3e3@gmail.com/">https://lore.kernel.org/qemu-devel/4dde2e66-63cb-4390-9538-c032310db3e3@gmail.com/
>
> Suggested-by: Akihiko Odaki <akihiko.odaki@gmail.com>
> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
> ---
> ui/cocoa.m | 6 ------
> 1 file changed, 6 deletions(-)
>
> diff --git a/ui/cocoa.m b/ui/cocoa.m
> index 69745c483b4..dec22968815 100644
> --- a/ui/cocoa.m
> +++ b/ui/cocoa.m
> @@ -100,7 +100,6 @@ static void cocoa_switch(DisplayChangeListener *dcl,
> static char **gArgv;
> static bool stretch_video;
> static NSTextField *pauseLabel;
> -static NSArray * supportedImageFileTypes;
>
> static QemuSemaphore display_init_sem;
> static QemuSemaphore app_started_sem;
> @@ -1162,10 +1161,6 @@ - (id) init
> [pauseLabel setTextColor: [NSColor blackColor]];
> [pauseLabel sizeToFit];
>
> - // set the supported image file types that can be opened
> - supportedImageFileTypes = [NSArray arrayWithObjects: @"img", @"iso",
> @"dmg",
> - @"qcow", @"qcow2", @"cloop", @"vmdk",
> @"cdr",
> - @"toast", nil];
> [self make_about_window];
> }
> return self;
> @@ -1408,7 +1403,6 @@ - (void)changeDeviceMedia:(id)sender
> openPanel = [NSOpenPanel openPanel];
> [openPanel setCanChooseFiles: YES];
> [openPanel setAllowsMultipleSelection: NO];
> - [openPanel setAllowedFileTypes: supportedImageFileTypes];
> if([openPanel runModal] == NSModalResponseOK) {
> NSString * file = [[[openPanel URLs] objectAtIndex: 0] path];
> if(file == nil) {
> --
> 2.33.1
>
[RFC PATCH v3 2/7] ui/cocoa: Remove allowedFileTypes restriction in SavePanel, Philippe Mathieu-Daudé, 2022/01/10
- Re: [RFC PATCH v3 2/7] ui/cocoa: Remove allowedFileTypes restriction in SavePanel,
Roman Bolshakov <=
[RFC PATCH v3 3/7] hvf: Make hvf_get_segments() / hvf_put_segments() local, Philippe Mathieu-Daudé, 2022/01/10
[RFC PATCH v3 4/7] hvf: Remove deprecated hv_vcpu_flush() calls, Philippe Mathieu-Daudé, 2022/01/10
[RFC PATCH v3 5/7] audio/coreaudio: Remove a deprecation warning on macOS 12, Philippe Mathieu-Daudé, 2022/01/10
[RFC PATCH v3 6/7] block/file-posix: Remove a deprecation warning on macOS 12, Philippe Mathieu-Daudé, 2022/01/10