Derek Atkins wrote: Phil Longstaff [1]<[EMAIL PROTECTED]> writes:
The UI doesn't support xml: (or any access method) but it can be entered from the command line i.e. gnucash xml:... Yeah, we should probably fix this.. Or add other "File -> Open" methods to let the user choose the specific version. I have a modified version of src/gnome-utils/gnc-file.c which allows you to select "xml:" The gtk_file_chooser returns either the selected uri (with [2]file:// in front) or the selected file (with full path). In both of these cases, if you type [3]"xml:foo" as a file name, you get "/path/[4]xml:foo". My version will remove the path (which can be obtained from gtk_file_chooser) and separates out "xml:" and puts it all back together as [5]"xml:/path/foo" which works. This allows you to navigate to the correct directory and type [6]"xml:filename". If you try to type [7]"xml:/path/file", you get an error dialog from gtk_file_chooser because it looks for a directory named "xml:" and can't find it. [8]"xml:subdir/file" also doesn't work because gtk_file_chooser looks for a directory named [9]"xml:subdir". In any case, our db/file chooser could get a bit hairy. If you want postgres/mysql/other db, you would need to specify host/username/password/dbname. GDA has a way of creating pre-specified db connections, so we would need to allow the user to select one of these. For xml or sqlite, it's a simple file. It does file-type auto-detection but there is also the wrinkle that ".db" is added for sqlite files. So, if you want to open "foo", first the gda/sqlite backend look to see if "foo.db" exists and is an sqlite file. If so, it is used. If, not, it then checks to see if "foo" exists. If so, the gda/sqlite backend assumes that it is a different type of file and lets the xml backend have a go at it. If "foo" doesn't exist, the gda/sqlite backend will create "foo.db". Is ".db" actually required? Is there some way to test the file and then choose which backend to use? ".db" is added by the sqlite provider for libgda and can't be gotten around. I use the fact that qof can have multiple backends which match the same access provider (in this case, "file:") and will try them in order. The GDA backend gets first shot and then XML. It has to be this order to make sqlite the default for "file:" files. BTW, what is the qsf backend? It seems to exist independent of the XML backend but also processes XML files. Phil References 1. mailto:[EMAIL PROTECTED] 2. file://localhost/ 3. xml:foo 4. xml:foo 5. xml:/path/foo 6. xml:filename 7. xml:/path/file 8. xml:subdir/file 9. xml:subdir _______________________________________________ gnucash-devel mailing list [email protected] https://lists.gnucash.org/mailman/listinfo/gnucash-devel
