Closed Bug 326227 Opened 19 years ago Closed 18 years ago

option to disable the GTK filechooser on request

Categories

(Core Graveyard :: GFX: Gtk, defect)

x86
Linux
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED DUPLICATE of bug 333653

People

(Reporter: wolfiR, Unassigned)

References

Details

Attachments

(1 file)

It would be nice to have a possibility to disable the usage of the GTK2 filechooser.
Sometimes it causes some problems as in bug 310137 and I get many reports
that the old filechooser is much better. (Mostly from non-Gnome users)

It's not that important for Firefox with its UI integration into GNOME but at least in SeaMonkey it would be appreciated to switch easily to the old XUL filechooser.

At the moment we use a small patch (attached) which disables the GTK filechooser if an environment variable is set.
Attached patch patchSplinter Review
I'd like a way to force us to use the internal XUL filepicker very much, but I think a pref should be used for that.
That pref should IMHO be used across all toolkits, so that e.g. embedders (as long as they use XUL) or people creating their own app can set it and be able to offer a fully themed and maybe limited filepicker and not let the user discover the whole OS.
The pref should be a "force XUL filepicker" bool pref that always uses the XUL filepicker when set to true, and go the current way if set to false, which likely would stay the default setting.
I'm fine with every option to switch off the GTK picker, controlled either env var or pref. I'm also willing to write another patch (if I can). But I don't want to decide anything which gets blocked by (super-)reviewers afterwards.
Credit goes to Robert Strong(Robert S.) on MozillaZine forums.

You can change it back to the built-in filepicker by modifying the following in nsFilePicker.js which is located in the app's components directory. After making the change you have to re-register the components which is easily accomplished by disabling then re-enabling an extension and then restarting. Installing or un-installing an extension will also force a component registration.
code:
    compMgr.registerFactoryLocation(FILEPICKER_CID,
                                    "FilePicker JS Component",
//@line 278 *snip*
                                    "",
//@line 280 *snip*
                                    fileSpec,
                                    location,
                                    type);

TO

Code:
    compMgr.registerFactoryLocation(FILEPICKER_CID,
                                    "FilePicker JS Component",
//@line 278 *snip*
                                    FILEPICKER_CONTRACTID,
//@line 280 *snip*
                                    fileSpec,
                                    location,
                                    type);
interesting, but no solution for this feature request. It's just a workaround which works without recompiling the code for already released binaries.
comment 4 is not a reliable fix. it may or may not work.
bz got a pref patch r+ in bug 333653
Depends on: 333653
Wolfgang, your call on whether bug 333653 makes this fixed....

*** This bug has been marked as a duplicate of 333653 ***
Status: NEW → RESOLVED
Closed: 18 years ago
Resolution: --- → DUPLICATE
Product: Core → Core Graveyard
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: