Yes, I have to say I hadn't noticed the bookmarks, but I had noticed the preview.
I think there are several things to weigh up here. My overriding concern is that the file dialogs are useable for windows users. The current GTK file dialog really doesn't pass the my-mum-could-use-it test, it just looks out of place (not looking consistent with other Win32 apps) and confusing (not working in the same way as other Win32 apps). For this reason I (a Windows user) would be willing to sacrifice both those features, even though they're really good, because I think the usability cost is too high.
In the future I don't know if it'll be possible to write an Explorer thumbnail extension to allow XP and Vista users to have the preview functionality back. Furthermore, Vista file dialogs have support for a preview pane so long as there is an explorer thumbnail extension present. All this depends on whether it's easy or hard to render an SVG to an arbitrry buffer in a fast lightweight way.
The second reason I want to replace the file dialog for Windows is the parenting - the topic of this thread. I was planning to kill two birds with one stone. It must *never* be possible to hide the file dialog behind the document. In Windows at least, this is a huge gaffe.
----- Original Message ----- From: "bulia byak" <buliabyak@...400...> To: "Joel Holdsworth" <joel@...1709...> Cc: inkscape-devel@lists.sourceforge.net Sent: Tuesday, June 26, 2007 5:07 PM Subject: Re: [Inkscape-devel] Getting the GdkWindow in which a verb was invoked
On 6/26/07, Joel Holdsworth <joel@...1709...> wrote:
I'm currently working on a patch to add support for native file dialogs for windows users. It's worked out pretty well, and I'm almost finished.
Hmm, does it mean there will be no filesystem bookmarks in Windows? What about the preview?
In the GTK version, sp_file_open_dialog (in file.cpp) is called from inside FileVerb::Perform in verbs.cpp. But how is it possible to get the GdkWindow object of the windows in which the verb was invoked?
You can do SP_ACTIVE_DESKTOP, then use getToplevel to get GTK window, and then use ->window to get from GTK to GDK (untested!)
-- bulia byak Inkscape. Draw Freely. http://www.inkscape.org