[GNC] Does Linked Document UI show relative vs absolute?

Jim DeLaHunt list+gnucash at jdlh.com
Sun Sep 4 13:44:52 EDT 2022


Does the GnuCash UI (version 4.10 or version 4.11) show the difference 
between absolute and relative paths to linked document files?

I am looking at the "Change a Transaction Linked Document" dialogue, 
which GnuCash 4.10 for macOS displays when I select a transaction with a 
linked document, and select menu item *Transaction… Manage document link…*.

It gives the name of the linked file in the file chooser button, the 
button which displays an OS standard File Chooser dialogue when I click 
on it. But that is not the relative path stored in the transaction.
Just above that button, in blue, is the text: "Path head for files is, 
'/Users/myuser/Documents/2022/Bookkeeping/attachments/'.
Just below that button, in blue, is the text: "Existing Document Link 
is: ' 
/Users/myuser/Documents/2022/Bookkeeping/attachments/2022/my_attached_file.pdf'. 
(This is a long string. I have to make the "Change a Transaction Linked 
Document" dialogue very wide to fit it all in.

I don't see anything in this dialogue which tells me that my document 
link is absolute or relative. Am I missing something?

I am pretty sure that my document link is relative. When I open the 
.gnucash XML file, I see the following (simplified for clarity and 
confidentiality):

> <slot>
>     <slot:key>assoc_uri</slot:key>
>     <slot:value type="string">2022/my_attached_file.pdf</slot:value>
> </slot>
So,

Q1. Does anything in the "Change a Transaction Linked Document" dialogue 
UI show the user whether a file link is absolute or relative?

Q2. Does anything in the "Change a Transaction Linked Document" dialogue 
UI show the actual relative file path, as stored in the book?

Q3. When I set a file link via the OS standard File Chooser dialogue, 
how does GnuCash decide whether to store an absolute or relative path to 
that file in the book?

This dialogue is documented at *6.3. Associating an External File with a 
Transaction*, 
<https://www.gnucash.org/docs/v4/C/gnucash-help/trans-assoc.html>, but I 
did not see answers to these questions there. Nor did I find something 
relevant in the GnuCash wiki.

For what it's worth, I think the code behind that dialogue is:
gchar *
gnc_doclink_get_uri_dialog (GtkWindow *parent, const gchar *title,
                             const gchar *uri)
at 
<https://github.com/Gnucash/gnucash/blob/b8d3b43fcd105ac013513f6c533abfb3d0488295/gnucash/gnome/dialog-doclink.c#L299-L442>,

but I was unable to answer my questions by reading that code.

My reason for asking is to answer someone's question about how to change 
a linked document path to be relative, 
<https://lists.gnucash.org/pipermail/gnucash-user/2022-August/102634.html>.

Thank you in advance,
     —Jim DeLaHunt



More information about the gnucash-user mailing list