gnustep-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Methods +readable/writableTypes


From: Fred Kiefer
Subject: Re: Methods +readable/writableTypes
Date: Tue, 11 Feb 2014 22:44:16 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.2.0

On 11.02.2014 19:54, Germán Arias wrote:
> On 2014-02-11 12:44:56 -0600 Fred Kiefer <address@hidden> wrote:
> 
>> On 11.02.2014 06:42, Germán Arias wrote:
>>> On 2014-02-10 02:11:34 -0600 Fred Kiefer <address@hidden>
>>> wrote: [...]
>>>> 
>>>> What you describe here seems about the correct thing to do. I 
>>>> really would be interested in understanding what goes wrong
>>>> here. As I understand your mails this only happens with the
>>>> extended WinUX open panel, not with the standard one from
>>>> GNUstep gui, is this correct?
>>>> 
>>>> Fred
>>> 
>>> The problem is only with Open/Save panels in WinUXTheme. The
>>> GNUstep panels works in a different way, and don't use 
>>> +readable/writableTypes. Attached is a patch for WinNSOpenPanel.m
>>> in WinUXTheme. This contains the changes I'm testing currently.
>>> There are two changes. First in function
>>> filter_string_from_types() I put one entry for each extension (I
>>> will improve this later). Second change is at method
>>> -runModalForDirectory:file:.... in WinNSSavePanel implementation.
>>> Here I get all the extensions for all writable types, preventing
>>> add duplications since -fileExtensionsFromType: return all 
>>> extension (NSUnixExtensions and NSDOSExtensions). With these
>>> changes Ink works perfectly. But Gorm (Save panel) not.
>>> 
>>> I don't have a Windows machine. But I will try tomorrow with GDB
>>> or adding some NSLog. However, if I remember correctly, NSLog
>>> don't works in a theme (almost on Windows).
>> 
>> What I don't understand about this change is why you cannot just
>> use the filetypes that get handed into the method instead of using 
>> writableTypes? I understand that you need to filter duplicates, but
>> why use a different list of names?
>> 
> The parameter fileTypes only contains the extension of the document
> that will be saved. On Ink is "RTF", in Gorm is "gorm". So, I'm
> trying to get all available types.

That is interesting. If this is the case, then it is a bug in the
GNUstep code. I looked through the code in NSOpenPanel and NSSavePanel
and the only place that looks dubious in that regard is
-setRequiredFileType: which calls -setAllowedFileTypes:, but even that
looks correct to me. Could you please provide a stack trace that shows
where this issue comes from?

Fred



reply via email to

[Prev in Thread] Current Thread [Next in Thread]