So, KDE File Picker is finally in ooo-build. It is disabled by default for most distros, because it is still quite experimental. The exception is the one called KDE; it was always a test bed for my experiments ;)
Yesterday I was trying to debug a very tricky crash. Not just that it appeared very rarely, it was also crashing gdb when I was trying to debug it. I wanted to use Valgrind, but it was crashing as well. Frustrated, I entered "linux debugger" to google, and I found TotalView. I downloaded their trial version and I must admit I am amazed! Not just that it did not crash, but it also has very well-arranged and usable GUI (from my point of view); probably the best from the debuggers on Linux I have ever tested. I'll see what the rest of the trial period will show...
And the point? I did not find the reason of the crash, because when I got a usable backtrace and recompiled the affected part with debug info, the crash did not appear any more :)
Currently I work on KDE file dialog for OOo. Generally it means to implement FilePicker service; the problem is how to do it :)
Once KDE vclplug is finished, it will be simple, I believe. But I need a solution for 1.1.x, so I tried to link FilePicker to Qt; I do it in KDE NWF anyway. It was not a good idea, a deadlock appeared as soon as the dialog showed, and to solve it would be too intrusive. Then I hoped I could collect all the data, execute kdialog binary (part of KDE) with all the settings and return all the values when it finishes. But "Version:" list box did not work, it needs to be notified when a file is selected. So I ended up implementing an external binary providing the file dialog that can notify about every user's action.
The result is a kdefilepicker binary. It is a "filter" which gets commands from stdin, and sends output to stdout according to the user's actions. The implementation of the FilePicker service on the OOo side executes the binary and then just sends and receives commands. So it will be easy to extend it for Gnome when someone writes the Gnome "filter".
Of course this is a temporary solution just for 1.1.x, and I will not try to upstream it. But I'll make it public through ooo-build for testing soon.