From db626de68a9660787548427f1f21f3e49f0c259a Mon Sep 17 00:00:00 2001 From: John Ralls Date: Sat, 15 Aug 2020 17:05:21 -0700 Subject: [PATCH] Rename all Transaction and Invoice Association identifiers to DocLink. To better reflect the purpose and for consistency with other software (e.g. Libre Office). --- gnucash/gnome-utils/CMakeLists.txt | 4 +- ...g-assoc-utils.c => dialog-doclink-utils.c} | 110 ++-- ...g-assoc-utils.h => dialog-doclink-utils.h} | 48 +- gnucash/gnome-utils/dialog-dup-trans.c | 32 +- gnucash/gnome-utils/dialog-preferences.c | 20 +- gnucash/gnome-utils/gnc-gnome-utils.c | 18 +- gnucash/gnome-utils/gnc-gnome-utils.h | 2 +- gnucash/gnome-utils/gnc-main-window.c | 2 +- .../gnome-utils/gnc-tree-control-split-reg.c | 18 +- gnucash/gnome/CMakeLists.txt | 4 +- .../{dialog-assoc.c => dialog-doclink.c} | 484 ++++++++++-------- .../{dialog-assoc.h => dialog-doclink.h} | 37 +- gnucash/gnome/dialog-invoice.c | 56 +- gnucash/gnome/dialog-invoice.h | 5 +- gnucash/gnome/gnc-plugin-basic-commands.c | 8 +- gnucash/gnome/gnc-plugin-business.c | 8 +- gnucash/gnome/gnc-plugin-page-invoice.c | 101 ++-- gnucash/gnome/gnc-plugin-page-register.c | 84 +-- gnucash/gnome/gnc-plugin-page-register2.c | 2 +- gnucash/gnome/gnc-split-reg.c | 23 +- gnucash/gnome/top-level.c | 11 +- .../org.gnucash.dialogs.gschema.xml.in | 8 +- gnucash/gschemas/org.gnucash.gschema.xml.in | 2 +- gnucash/gtkbuilder/CMakeLists.txt | 2 +- ...ialog-assoc.glade => dialog-doclink.glade} | 6 +- gnucash/gtkbuilder/dialog-invoice.glade | 4 +- .../gtkbuilder/gnc-plugin-page-register.glade | 4 +- .../ledger-core/split-register-control.c | 6 +- .../ledger-core/split-register-copy-ops.c | 14 +- .../ledger-core/split-register-copy-ops.h | 6 +- .../ledger-core/split-register-load.c | 20 +- .../ledger-core/split-register-model.c | 36 +- gnucash/register/ledger-core/split-register.c | 4 +- .../test/utest-split-register-copy-ops.c | 12 +- gnucash/register/register-core/CMakeLists.txt | 4 +- .../{assoccell.c => doclinkcell.c} | 78 +-- .../{assoccell.h => doclinkcell.h} | 50 +- .../register/register-core/register-common.c | 4 +- gnucash/report/html-utilities.scm | 8 +- gnucash/report/report.scm | 4 +- gnucash/report/trep-engine.scm | 4 +- gnucash/ui/gnc-plugin-page-invoice-ui.xml | 4 +- gnucash/ui/gnc-plugin-page-register-ui.xml | 14 +- libgnucash/app-utils/gnc-ui-util.c | 16 +- libgnucash/app-utils/gnc-ui-util.h | 24 +- libgnucash/engine/Transaction.c | 26 +- libgnucash/engine/Transaction.h | 10 +- libgnucash/engine/gncInvoice.c | 20 +- libgnucash/engine/gncInvoice.h | 6 +- po/POTFILES.in | 8 +- 50 files changed, 780 insertions(+), 701 deletions(-) rename gnucash/gnome-utils/{dialog-assoc-utils.c => dialog-doclink-utils.c} (76%) rename gnucash/gnome-utils/{dialog-assoc-utils.h => dialog-doclink-utils.h} (71%) rename gnucash/gnome/{dialog-assoc.c => dialog-doclink.c} (60%) rename gnucash/gnome/{dialog-assoc.h => dialog-doclink.h} (70%) rename gnucash/gtkbuilder/{dialog-assoc.glade => dialog-doclink.glade} (99%) rename gnucash/register/register-core/{assoccell.c => doclinkcell.c} (75%) rename gnucash/register/register-core/{assoccell.h => doclinkcell.h} (66%) diff --git a/gnucash/gnome-utils/CMakeLists.txt b/gnucash/gnome-utils/CMakeLists.txt index 098c88d17f..ba03bc7f85 100644 --- a/gnucash/gnome-utils/CMakeLists.txt +++ b/gnucash/gnome-utils/CMakeLists.txt @@ -30,7 +30,7 @@ set (gnome_utils_SOURCES assistant-xml-encoding.c cursors.c dialog-account.c - dialog-assoc-utils.c + dialog-doclink-utils.c dialog-book-close.c dialog-commodity.c dialog-dup-trans.c @@ -124,7 +124,7 @@ set (gnome_utils_HEADERS account-quickfill.h assistant-xml-encoding.h dialog-account.h - dialog-assoc-utils.h + dialog-doclink-utils.h dialog-book-close.h dialog-commodity.h dialog-dup-trans.h diff --git a/gnucash/gnome-utils/dialog-assoc-utils.c b/gnucash/gnome-utils/dialog-doclink-utils.c similarity index 76% rename from gnucash/gnome-utils/dialog-assoc-utils.c rename to gnucash/gnome-utils/dialog-doclink-utils.c index aa7dbe6644..48d2901611 100644 --- a/gnucash/gnome-utils/dialog-assoc-utils.c +++ b/gnucash/gnome-utils/dialog-doclink-utils.c @@ -1,5 +1,5 @@ /********************************************************************\ - * dialog-assoc-utils.c -- Associations dialog Utils * + * dialog-doclink-utils.c -- Document link dialog Utils * * Copyright (C) 2020 Robert Fewell * * * * This program is free software; you can redistribute it and/or * @@ -25,7 +25,7 @@ #include #include -#include "dialog-assoc-utils.h" +#include "dialog-doclink-utils.h" #include "dialog-utils.h" #include "Transaction.h" @@ -75,7 +75,7 @@ convert_uri_to_abs_path (const gchar *path_head, const gchar *uri, } gchar * -gnc_assoc_get_unescape_uri (const gchar *path_head, const gchar *uri, gchar *uri_scheme) +gnc_doclink_get_unescape_uri (const gchar *path_head, const gchar *uri, gchar *uri_scheme) { gchar *display_str = NULL; @@ -100,7 +100,7 @@ gnc_assoc_get_unescape_uri (const gchar *path_head, const gchar *uri, gchar *uri } gchar * -gnc_assoc_get_use_uri (const gchar *path_head, const gchar *uri, gchar *uri_scheme) +gnc_doclink_get_use_uri (const gchar *path_head, const gchar *uri, gchar *uri_scheme) { gchar *use_str = NULL; @@ -121,11 +121,11 @@ gnc_assoc_get_use_uri (const gchar *path_head, const gchar *uri, gchar *uri_sche } gchar * -gnc_assoc_get_unescaped_just_uri (const gchar *uri) +gnc_doclink_get_unescaped_just_uri (const gchar *uri) { - gchar *path_head = gnc_assoc_get_path_head (); + gchar *path_head = gnc_doclink_get_path_head (); gchar *uri_scheme = gnc_uri_get_scheme (uri); - gchar *ret_uri = gnc_assoc_get_unescape_uri (path_head, uri, uri_scheme); + gchar *ret_uri = gnc_doclink_get_unescape_uri (path_head, uri, uri_scheme); g_free (path_head); g_free (uri_scheme); @@ -133,9 +133,9 @@ gnc_assoc_get_unescaped_just_uri (const gchar *uri) } gchar * -gnc_assoc_convert_trans_associate_uri (gpointer trans, gboolean book_ro) +gnc_doclink_convert_trans_link_uri (gpointer trans, gboolean book_ro) { - const gchar *uri = xaccTransGetAssociation (trans); // get the existing uri + const gchar *uri = xaccTransGetDocLink (trans); // get the existing uri const gchar *part = NULL; if (!uri) @@ -153,7 +153,7 @@ gnc_assoc_convert_trans_associate_uri (gpointer trans, gboolean book_ro) part = uri + strlen ("file:"); if (!xaccTransGetReadOnly (trans) && !book_ro) - xaccTransSetAssociation (trans, part); + xaccTransSetDocLink (trans, part); return g_strdup (part); } @@ -163,10 +163,10 @@ gnc_assoc_convert_trans_associate_uri (gpointer trans, gboolean book_ro) /* =================================================================== */ static gchar * -assoc_get_path_head_and_set (gboolean *path_head_set) +doclink_get_path_head_and_set (gboolean *path_head_set) { gchar *ret_path = NULL; - gchar *path_head = gnc_prefs_get_string (GNC_PREFS_GROUP_GENERAL, "assoc-head"); + gchar *path_head = gnc_prefs_get_string (GNC_PREFS_GROUP_GENERAL, "doclink-head"); *path_head_set = FALSE; if (path_head && *path_head) // not default entry @@ -191,11 +191,11 @@ assoc_get_path_head_and_set (gboolean *path_head_set) ret_path = g_strdup (folder_with_slash); g_free (folder_with_slash); - if (*path_head_set) // prior to 3.5, assoc-head could be with or without a trailing '/' + if (*path_head_set) // prior to 3.5, doclink-head could be with or without a trailing '/' { - if (!gnc_prefs_set_string (GNC_PREFS_GROUP_GENERAL, "assoc-head", ret_path)) + if (!gnc_prefs_set_string (GNC_PREFS_GROUP_GENERAL, "doclink-head", ret_path)) PINFO ("Failed to save preference at %s, %s with %s", - GNC_PREFS_GROUP_GENERAL, "assoc-head", ret_path); + GNC_PREFS_GROUP_GENERAL, "doclink-head", ret_path); } } g_free (path_head); @@ -203,15 +203,15 @@ assoc_get_path_head_and_set (gboolean *path_head_set) } gchar * -gnc_assoc_get_path_head (void) +gnc_doclink_get_path_head (void) { gboolean path_head_set = FALSE; - return assoc_get_path_head_and_set (&path_head_set); + return doclink_get_path_head_and_set (&path_head_set); } void -gnc_assoc_set_path_head_label (GtkWidget *path_head_label, const gchar *incoming_path_head, const gchar *prefix) +gnc_doclink_set_path_head_label (GtkWidget *path_head_label, const gchar *incoming_path_head, const gchar *prefix) { gboolean path_head_set = FALSE; gchar *path_head = NULL; @@ -225,10 +225,10 @@ gnc_assoc_set_path_head_label (GtkWidget *path_head_label, const gchar *incoming path_head_set = TRUE; } else - path_head = assoc_get_path_head_and_set (&path_head_set); + path_head = doclink_get_path_head_and_set (&path_head_set); scheme = gnc_uri_get_scheme (path_head); - path_head_str = gnc_assoc_get_unescape_uri (NULL, path_head, scheme); + path_head_str = gnc_doclink_get_unescape_uri (NULL, path_head, scheme); if (path_head_set) { @@ -271,14 +271,14 @@ typedef struct const gchar *new_path_head_uri; gboolean change_new; gboolean book_ro; -}AssocUpdate; +}DoclinkUpdate; static void update_invoice_uri (QofInstance* data, gpointer user_data) { - AssocUpdate *assoc_update = user_data; + DoclinkUpdate *doclink_update = user_data; GncInvoice *invoice = GNC_INVOICE(data); - const gchar* uri = gncInvoiceGetAssociation (invoice); + const gchar* uri = gncInvoiceGetDocLink (invoice); if (uri && *uri) { @@ -289,22 +289,22 @@ update_invoice_uri (QofInstance* data, gpointer user_data) rel = TRUE; // check for relative and we want to change them - if (rel && assoc_update->change_old) + if (rel && doclink_update->change_old) { - gchar *new_uri = gnc_assoc_get_use_uri (assoc_update->old_path_head_uri, uri, scheme); - gncInvoiceSetAssociation (invoice, new_uri); + gchar *new_uri = gnc_doclink_get_use_uri (doclink_update->old_path_head_uri, uri, scheme); + gncInvoiceSetDocLink (invoice, new_uri); g_free (new_uri); } g_free (scheme); // check for not relative and we want to change them - if (!rel && assoc_update->change_new && g_str_has_prefix (uri, assoc_update->new_path_head_uri)) + if (!rel && doclink_update->change_new && g_str_has_prefix (uri, doclink_update->new_path_head_uri)) { // relative paths do not start with a '/' - const gchar *part = uri + strlen (assoc_update->new_path_head_uri); + const gchar *part = uri + strlen (doclink_update->new_path_head_uri); gchar *new_uri = g_strdup (part); - gncInvoiceSetAssociation (invoice, new_uri); + gncInvoiceSetDocLink (invoice, new_uri); g_free (new_uri); } } @@ -313,12 +313,12 @@ update_invoice_uri (QofInstance* data, gpointer user_data) static void update_trans_uri (QofInstance* data, gpointer user_data) { - AssocUpdate *assoc_update = user_data; + DoclinkUpdate *doclink_update = user_data; Transaction *trans = GNC_TRANSACTION(data); gchar *uri; // fix an earlier error when storing relative paths before version 3.5 - uri = gnc_assoc_convert_trans_associate_uri (trans, assoc_update->book_ro); + uri = gnc_doclink_convert_trans_link_uri (trans, doclink_update->book_ro); if (uri && *uri) { @@ -329,26 +329,26 @@ update_trans_uri (QofInstance* data, gpointer user_data) rel = TRUE; // check for relative and we want to change them - if (rel && assoc_update->change_old) + if (rel && doclink_update->change_old) { - gchar *new_uri = gnc_assoc_get_use_uri (assoc_update->old_path_head_uri, uri, scheme); + gchar *new_uri = gnc_doclink_get_use_uri (doclink_update->old_path_head_uri, uri, scheme); if (!xaccTransGetReadOnly (trans)) - xaccTransSetAssociation (trans, new_uri); + xaccTransSetDocLink (trans, new_uri); g_free (new_uri); } g_free (scheme); // check for not relative and we want to change them - if (!rel && assoc_update->change_new && g_str_has_prefix (uri, assoc_update->new_path_head_uri)) + if (!rel && doclink_update->change_new && g_str_has_prefix (uri, doclink_update->new_path_head_uri)) { // relative paths do not start with a '/' - const gchar *part = uri + strlen (assoc_update->new_path_head_uri); + const gchar *part = uri + strlen (doclink_update->new_path_head_uri); gchar *new_uri = g_strdup (part); if (!xaccTransGetReadOnly (trans)) - xaccTransSetAssociation (trans, new_uri); + xaccTransSetDocLink (trans, new_uri); g_free (new_uri); } @@ -362,33 +362,33 @@ change_relative_and_absolute_uri_paths (const gchar *old_path_head_uri, gboolean { QofBook *book = gnc_get_current_book(); gboolean book_ro = qof_book_is_readonly (book); - AssocUpdate *assoc_update; + DoclinkUpdate *doclink_update; /* if book is read only, nothing to do */ if (book_ro) return; - assoc_update = g_new0 (AssocUpdate, 1); + doclink_update = g_new0 (DoclinkUpdate, 1); - assoc_update->old_path_head_uri = old_path_head_uri; - assoc_update->new_path_head_uri = new_path_head_uri; - assoc_update->change_old = change_old; - assoc_update->change_new = change_new; - assoc_update->book_ro = book_ro; + doclink_update->old_path_head_uri = old_path_head_uri; + doclink_update->new_path_head_uri = new_path_head_uri; + doclink_update->change_old = change_old; + doclink_update->change_new = change_new; + doclink_update->book_ro = book_ro; /* Loop through the transactions */ qof_collection_foreach (qof_book_get_collection (book, GNC_ID_TRANS), - update_trans_uri, assoc_update); + update_trans_uri, doclink_update); /* Loop through the invoices */ qof_collection_foreach (qof_book_get_collection (book, GNC_ID_INVOICE), - update_invoice_uri, assoc_update); + update_invoice_uri, doclink_update); - g_free (assoc_update); + g_free (doclink_update); } void -gnc_assoc_pref_path_head_changed (GtkWindow *parent, const gchar *old_path_head_uri) +gnc_doclink_pref_path_head_changed (GtkWindow *parent, const gchar *old_path_head_uri) { GtkWidget *dialog; GtkBuilder *builder; @@ -396,7 +396,7 @@ gnc_assoc_pref_path_head_changed (GtkWindow *parent, const gchar *old_path_head_ GtkWidget *old_head_label, *new_head_label; GtkWidget *old_hbox, *new_hbox; gint result; - gchar *new_path_head_uri = gnc_assoc_get_path_head (); + gchar *new_path_head_uri = gnc_doclink_get_path_head (); if (g_strcmp0 (old_path_head_uri, new_path_head_uri) == 0) { @@ -406,15 +406,15 @@ gnc_assoc_pref_path_head_changed (GtkWindow *parent, const gchar *old_path_head_ /* Create the dialog box */ builder = gtk_builder_new(); - gnc_builder_add_from_file (builder, "dialog-assoc.glade", "association_path_head_changed_dialog"); - dialog = GTK_WIDGET(gtk_builder_get_object (builder, "association_path_head_changed_dialog")); + gnc_builder_add_from_file (builder, "dialog-doclink.glade", "link_path_head_changed_dialog"); + dialog = GTK_WIDGET(gtk_builder_get_object (builder, "link_path_head_changed_dialog")); if (parent != NULL) gtk_window_set_transient_for (GTK_WINDOW(dialog), GTK_WINDOW(parent)); // Set the name and style context for this widget so it can be easily manipulated with css - gtk_widget_set_name (GTK_WIDGET(dialog), "gnc-id-association-change"); - gnc_widget_style_context_add_class (GTK_WIDGET(dialog), "gnc-class-association"); + gtk_widget_set_name (GTK_WIDGET(dialog), "gnc-id-doclink-change"); + gnc_widget_style_context_add_class (GTK_WIDGET(dialog), "gnc-class-doclink"); old_head_label = GTK_WIDGET(gtk_builder_get_object (builder, "existing_path_head")); new_head_label = GTK_WIDGET(gtk_builder_get_object (builder, "new_path_head")); @@ -423,8 +423,8 @@ gnc_assoc_pref_path_head_changed (GtkWindow *parent, const gchar *old_path_head_ use_new_path_head = GTK_WIDGET(gtk_builder_get_object (builder, "use_new_path_head")); // display path head text and test if present - gnc_assoc_set_path_head_label (old_head_label, old_path_head_uri, _("Existing")); - gnc_assoc_set_path_head_label (new_head_label, new_path_head_uri, _("New")); + gnc_doclink_set_path_head_label (old_head_label, old_path_head_uri, _("Existing")); + gnc_doclink_set_path_head_label (new_head_label, new_path_head_uri, _("New")); gtk_widget_show (dialog); g_object_unref (G_OBJECT(builder)); diff --git a/gnucash/gnome-utils/dialog-assoc-utils.h b/gnucash/gnome-utils/dialog-doclink-utils.h similarity index 71% rename from gnucash/gnome-utils/dialog-assoc-utils.h rename to gnucash/gnome-utils/dialog-doclink-utils.h index 9f91edcf7f..652a0b2685 100644 --- a/gnucash/gnome-utils/dialog-assoc-utils.h +++ b/gnucash/gnome-utils/dialog-doclink-utils.h @@ -1,5 +1,5 @@ /********************************************************************\ - * dialog-assoc-utils.h -- Associations dialog Utils * + * dialog-doclink-utils.h -- Document link dialog Utils * * Copyright (C) 2020 Robert Fewell * * * * This program is free software; you can redistribute it and/or * @@ -20,21 +20,21 @@ * Boston, MA 02110-1301, USA gnu@gnu.org * \********************************************************************/ -#ifndef DIALOG_ASSOC_UTILS_H -#define DIALOG_ASSOC_UTILS_H +#ifndef DIALOG_DOCLINK_UTILS_H +#define DIALOG_DOCLINK_UTILS_H -/** Return the current associate path head uri. +/** Return the current documentation-link file path head uri. * - * This function will get the current associate path head from pref's. + * This function will get the current documentation-link path head from prefs. * If it is not set then a default path head is set based on either * the home directory or the user data directory. * * The calling function should free the returned value with g_free when * the it is no longer needed. * - * @return The current associate path head. + * @return The current documentation-link file path head. */ -gchar * gnc_assoc_get_path_head (void); +gchar * gnc_doclink_get_path_head (void); /** Sets the label text for displaying the path head in a dialog. * @@ -42,9 +42,9 @@ gchar * gnc_assoc_get_path_head (void); * @param incoming_path_head The starting common path head * @param prefix A text string to place infront of the path head text */ -void gnc_assoc_set_path_head_label (GtkWidget *path_head_label, - const gchar *incoming_path_head, - const gchar *prefix); +void gnc_doclink_set_path_head_label (GtkWidget *path_head_label, + const gchar *incoming_path_head, + const gchar *prefix); /** Return a uri that can be used for opening it. * @@ -55,23 +55,23 @@ void gnc_assoc_set_path_head_label (GtkWidget *path_head_label, * otherwise the uri is returned. * * @param path_head The starting common path head - * @param uri The association - * @param uri_scheme + * @param uri The document link URI + * @param uri_scheme http:, https:, or file: * - * @return The uri used for opening the association. + * @return The uri used for opening the link. */ -gchar * gnc_assoc_get_use_uri (const gchar *path_head, const gchar *uri, gchar *uri_scheme); +gchar * gnc_doclink_get_use_uri (const gchar *path_head, const gchar *uri, gchar *uri_scheme); -/** Corrects an earlier relative file association forrmat. +/** Corrects an earlier relative file documentation link uri forrmat. * * Prior to version 3.5, relative paths were stored starting as 'file:' * or 'file:/' depending on OS. This function changes them so that * relative paths are stored without a leading "/" and in native form. * - * @param trans The Transaction holding the association + * @param trans The Transaction holding the document link * @param book_ro TRUE if the book is read only */ -gchar * gnc_assoc_convert_trans_associate_uri (gpointer trans, gboolean book_ro); +gchar * gnc_doclink_convert_trans_link_uri (gpointer trans, gboolean book_ro); /** Return an unescaped uri for display use. * @@ -82,12 +82,12 @@ gchar * gnc_assoc_convert_trans_associate_uri (gpointer trans, gboolean book_ro) * '/' to '\' to look like a traditional windows path * * @param path_head The starting common path head - * @param uri The association + * @param uri The document link * @param uri_scheme * * @return The unescaped uri used for display purposes. */ -gchar * gnc_assoc_get_unescape_uri (const gchar *path_head, const gchar *uri, gchar *uri_scheme); +gchar * gnc_doclink_get_unescape_uri (const gchar *path_head, const gchar *uri, gchar *uri_scheme); /** Return an unescaped uri for display use just based on the uri. * @@ -97,22 +97,22 @@ gchar * gnc_assoc_get_unescape_uri (const gchar *path_head, const gchar *uri, gc * Return an unesacped uri for displaying and if OS is windows change the * '/' to '\' to look like a traditional windows path * - * @param uri The association + * @param uri The document link * * @return The unescaped uri used for display purposes. */ -gchar * gnc_assoc_get_unescaped_just_uri (const gchar *uri); +gchar * gnc_doclink_get_unescaped_just_uri (const gchar *uri); /** Presents a dialog when the path head is changed. * * When the path head is changed a dialog is raised that allows for - * existing relative file associations to be made absolute based on the - * old_path_head_uri and existing absolute file associations to be made + * existing relative file document links to be made absolute based on the + * old_path_head_uri and existing absolute file document links to be made * relative based on the new_path_head_uri. * * @param parent The GtkWindow for the parent widget * @param old_path_head_uri The old path head uri */ -void gnc_assoc_pref_path_head_changed (GtkWindow *parent, const gchar *old_path_head_uri); +void gnc_doclink_pref_path_head_changed (GtkWindow *parent, const gchar *old_path_head_uri); #endif diff --git a/gnucash/gnome-utils/dialog-dup-trans.c b/gnucash/gnome-utils/dialog-dup-trans.c index 1066f7491b..87d040923e 100644 --- a/gnucash/gnome-utils/dialog-dup-trans.c +++ b/gnucash/gnome-utils/dialog-dup-trans.c @@ -45,14 +45,14 @@ typedef struct GtkWidget * date_edit; GtkWidget * num_edit; GtkWidget * tnum_edit; - GtkWidget * assoc_edit; + GtkWidget * link_edit; GtkWidget *duplicate_title_label; // GtkLabel GtkWidget *duplicate_table; // GtkTable GtkWidget *date_label; // GtkLabel GtkWidget *num_label; // GtkLabel GtkWidget *tnum_label; // GtkLabel - GtkWidget *assoc_label; //GtkLabel + GtkWidget *link_label; //GtkLabel } DupTransDialog; /* Parses the string value and returns true if it is a @@ -172,10 +172,10 @@ gnc_dup_trans_dialog_create (GtkWidget * parent, DupTransDialog *dt_dialog, else gtk_entry_set_text (GTK_ENTRY (tnum_spin), ""); } - /* Transaction Association */ + /* Transaction Linked Document */ { - dt_dialog->assoc_label = GTK_WIDGET(gtk_builder_get_object (builder, "assoc_label")); - dt_dialog->assoc_edit = GTK_WIDGET(gtk_builder_get_object (builder, "assoc_check_button")); + dt_dialog->link_label = GTK_WIDGET(gtk_builder_get_object (builder, "link_label")); + dt_dialog->link_edit = GTK_WIDGET(gtk_builder_get_object (builder, "link_check_button")); } gtk_builder_connect_signals_full (builder, gnc_builder_connect_full_func, dt_dialog); @@ -189,7 +189,7 @@ gnc_dup_trans_dialog_internal (GtkWidget * parent, gboolean show_date, time64 *date_p, GDate *gdate_p, const char *num, char **out_num, const char *tnum, char **out_tnum, - const char *tassoc, char **out_tassoc) + const char *tlink, char **out_tlink) { DupTransDialog *dt_dialog; GtkWidget *entry; @@ -256,15 +256,15 @@ gnc_dup_trans_dialog_internal (GtkWidget * parent, gtk_entry_set_activates_default(GTK_ENTRY(dt_dialog->tnum_edit), TRUE); } - if (tassoc) + if (tlink) { - gtk_widget_set_visible(dt_dialog->assoc_label, TRUE); - gtk_widget_set_visible(dt_dialog->assoc_edit, TRUE); + gtk_widget_set_visible(dt_dialog->link_label, TRUE); + gtk_widget_set_visible(dt_dialog->link_edit, TRUE); } else { - gtk_widget_set_visible(dt_dialog->assoc_label, FALSE); - gtk_widget_set_visible(dt_dialog->assoc_edit, FALSE); + gtk_widget_set_visible(dt_dialog->link_label, FALSE); + gtk_widget_set_visible(dt_dialog->link_edit, FALSE); } result = gtk_dialog_run (GTK_DIALOG (dt_dialog->dialog)); @@ -279,10 +279,10 @@ gnc_dup_trans_dialog_internal (GtkWidget * parent, *out_num = g_strdup (gtk_entry_get_text (GTK_ENTRY (dt_dialog->num_edit))); if (tnum) *out_tnum = g_strdup (gtk_entry_get_text (GTK_ENTRY (dt_dialog->tnum_edit))); - if (tassoc) + if (tlink) { - if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON(dt_dialog->assoc_edit))) - *out_tassoc = g_strdup (tassoc); + if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON(dt_dialog->link_edit))) + *out_tlink = g_strdup (tlink); } ok = TRUE; } @@ -299,10 +299,10 @@ gboolean gnc_dup_trans_dialog (GtkWidget * parent, const char* title, gboolean show_date, time64 *date_p, const char *num, char **out_num, const char *tnum, char **out_tnum, - const char *tassoc, char **out_tassoc) + const char *tlink, char **out_tlink) { return gnc_dup_trans_dialog_internal(parent, NULL, title, show_date, date_p, NULL, - num, out_num, tnum, out_tnum, tassoc, out_tassoc); + num, out_num, tnum, out_tnum, tlink, out_tlink); } gboolean diff --git a/gnucash/gnome-utils/dialog-preferences.c b/gnucash/gnome-utils/dialog-preferences.c index 137bf0bfe5..5ea1f51b2b 100644 --- a/gnucash/gnome-utils/dialog-preferences.c +++ b/gnucash/gnome-utils/dialog-preferences.c @@ -77,7 +77,7 @@ #include "gnc-ui-util.h" #include "gnc-component-manager.h" #include "dialog-preferences.h" -#include "dialog-assoc-utils.h" +#include "dialog-doclink-utils.h" #define DIALOG_PREFERENCES_CM_CLASS "dialog-newpreferences" #define GNC_PREFS_GROUP "dialogs.preferences" @@ -752,7 +752,7 @@ file_chooser_selected_cb (GtkFileChooser *fc, gpointer user_data) const gchar *group = g_object_get_data (G_OBJECT(fc), "group"); const gchar *pref = g_object_get_data (G_OBJECT(fc), "pref"); gchar *folder_uri = gtk_file_chooser_get_uri (fc); - gchar *old_path_head_uri = gnc_assoc_get_path_head (); + gchar *old_path_head_uri = gnc_doclink_get_path_head (); // make sure path_head ends with a trailing '/', 3.5 onwards if (!g_str_has_suffix (folder_uri, "/")) @@ -768,9 +768,10 @@ file_chooser_selected_cb (GtkFileChooser *fc, gpointer user_data) if (!gnc_prefs_set_string (group, pref, folder_uri)) PINFO("Failed to save preference at %s, %s with %s", group, pref, folder_uri); else - gnc_assoc_pref_path_head_changed (GTK_WINDOW(gtk_widget_get_toplevel ( - GTK_WIDGET(fc))), old_path_head_uri); - + gnc_doclink_pref_path_head_changed ( + GTK_WINDOW (gtk_widget_get_toplevel (GTK_WIDGET (fc))), + old_path_head_uri); + g_free (old_path_head_uri); g_free (folder_uri); } @@ -821,7 +822,7 @@ gnc_prefs_connect_file_chooser_button (GtkFileChooserButton *fcb, const gchar *b gtk_widget_hide (GTK_WIDGET(image)); else { - gchar *path_head = gnc_assoc_get_unescape_uri (NULL, uri, "file"); + gchar *path_head = gnc_doclink_get_unescape_uri (NULL, uri, "file"); gchar *ttip = g_strconcat (_("Path does not exist, "), path_head, NULL); gtk_widget_set_tooltip_text (GTK_WIDGET(image), ttip); @@ -862,7 +863,7 @@ file_chooser_clear_cb (GtkButton *button, gpointer user_data) GtkWidget *box; GtkWidget *fcb_new; gchar *boxname; - gchar *old_path_head_uri = gnc_assoc_get_path_head (); + gchar *old_path_head_uri = gnc_doclink_get_path_head (); /* We need to destroy the GtkFileChooserButton and recreate as there does not seem to be away of resetting the folder path to NONE */ @@ -872,8 +873,9 @@ file_chooser_clear_cb (GtkButton *button, gpointer user_data) if (!gnc_prefs_set_string (group, pref, "")) PINFO("Failed to Clear preference at %s, %s", group, pref); else - gnc_assoc_pref_path_head_changed (GTK_WINDOW(gtk_widget_get_toplevel ( - GTK_WIDGET(fcb))), old_path_head_uri); + gnc_doclink_pref_path_head_changed ( + GTK_WINDOW (gtk_widget_get_toplevel (GTK_WIDGET (fcb))), + old_path_head_uri); gtk_widget_destroy (GTK_WIDGET(fcb)); diff --git a/gnucash/gnome-utils/gnc-gnome-utils.c b/gnucash/gnome-utils/gnc-gnome-utils.c index 035d74018b..c2c186b32c 100644 --- a/gnucash/gnome-utils/gnc-gnome-utils.c +++ b/gnucash/gnome-utils/gnc-gnome-utils.c @@ -40,7 +40,7 @@ #include "gnc-splash.h" #include "gnc-window.h" #include "gnc-icons.h" -#include "dialog-assoc-utils.h" +#include "dialog-doclink-utils.h" #include "dialog-options.h" #include "dialog-commodity.h" #include "dialog-totd.h" @@ -437,13 +437,13 @@ gnc_gnome_help (const char *file_name, const char *anchor) * toolkit. */ void -gnc_launch_assoc (GtkWindow *parent, const char *uri) +gnc_launch_doclink (GtkWindow *parent, const char *uri) { NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; NSString *uri_str = [NSString stringWithUTF8String: uri]; NSURL *url = [[[NSURL alloc] initWithString: uri_str] autorelease]; const gchar *message = - _("GnuCash could not find the associated file."); + _("GnuCash could not find the linked document."); if (url) { @@ -459,7 +459,7 @@ gnc_launch_assoc (GtkWindow *parent, const char *uri) } #elif defined G_OS_WIN32 /* G_OS_WIN32 */ void -gnc_launch_assoc (GtkWindow *parent, const char *uri) +gnc_launch_doclink (GtkWindow *parent, const char *uri) { wchar_t *winuri = NULL; gchar *filename = NULL; @@ -468,7 +468,7 @@ gnc_launch_assoc (GtkWindow *parent, const char *uri) if (gnc_uri_is_file_uri (uri)) { gchar *uri_scheme = gnc_uri_get_scheme (uri); - filename = gnc_assoc_get_unescape_uri (NULL, uri, uri_scheme); + filename = gnc_doclink_get_unescape_uri (NULL, uri, uri_scheme); winuri = (wchar_t *)g_utf8_to_utf16(filename, -1, NULL, NULL, NULL); g_free (uri_scheme); } @@ -483,7 +483,7 @@ gnc_launch_assoc (GtkWindow *parent, const char *uri) NULL, NULL, SW_SHOWNORMAL) <= 32) { const gchar *message = - _("GnuCash could not find the associated file."); + _("GnuCash could not find the linked document."); gnc_error_dialog (parent, "%s:\n%s", message, filename); } g_free (wincmd); @@ -494,7 +494,7 @@ gnc_launch_assoc (GtkWindow *parent, const char *uri) #else void -gnc_launch_assoc (GtkWindow *parent, const char *uri) +gnc_launch_doclink (GtkWindow *parent, const char *uri) { GError *error = NULL; gboolean success; @@ -513,12 +513,12 @@ gnc_launch_assoc (GtkWindow *parent, const char *uri) { gchar *error_uri = NULL; const gchar *message = - _("GnuCash could not open the associated file:"); + _("GnuCash could not open the linked document:"); if (gnc_uri_is_file_uri (uri)) { gchar *uri_scheme = gnc_uri_get_scheme (uri); - error_uri = gnc_assoc_get_unescape_uri (NULL, uri, uri_scheme); + error_uri = gnc_doclink_get_unescape_uri (NULL, uri, uri_scheme); g_free (uri_scheme); } else diff --git a/gnucash/gnome-utils/gnc-gnome-utils.h b/gnucash/gnome-utils/gnc-gnome-utils.h index a668fcc3ad..721b3ff6b3 100644 --- a/gnucash/gnome-utils/gnc-gnome-utils.h +++ b/gnucash/gnome-utils/gnc-gnome-utils.h @@ -61,7 +61,7 @@ void gnc_gnome_help (const char *file_name, const char *anchor); /** Launch the default browser and open the provided URI. */ -void gnc_launch_assoc (GtkWindow *parent, const char *uri); +void gnc_launch_doclink (GtkWindow *parent, const char *uri); /** Set the help callback to 'gnc_book_options_help_cb' to open a help browser * and point it to the Book Options link in the Help file. diff --git a/gnucash/gnome-utils/gnc-main-window.c b/gnucash/gnome-utils/gnc-main-window.c index c3552f2211..9284fb49b7 100644 --- a/gnucash/gnome-utils/gnc-main-window.c +++ b/gnucash/gnome-utils/gnc-main-window.c @@ -4490,7 +4490,7 @@ get_file_strsplit (const gchar *partial) static gboolean url_signal_cb (GtkAboutDialog *dialog, gchar *uri, gpointer data) { - gnc_launch_assoc (GTK_WINDOW(dialog), uri); + gnc_launch_doclink (GTK_WINDOW(dialog), uri); return TRUE; } diff --git a/gnucash/gnome-utils/gnc-tree-control-split-reg.c b/gnucash/gnome-utils/gnc-tree-control-split-reg.c index 79cd807dba..9be63e051f 100644 --- a/gnucash/gnome-utils/gnc-tree-control-split-reg.c +++ b/gnucash/gnome-utils/gnc-tree-control-split-reg.c @@ -1314,7 +1314,7 @@ gnc_tree_control_split_reg_duplicate_current (GncTreeViewSplitReg *view) const char *in_tnum = NULL; char *out_num; char *out_tnum; - char *out_tassoc = NULL; + char *out_tdoclink = NULL; time64 date; gboolean use_autoreadonly = qof_book_uses_autoreadonly (gnc_get_current_book()); @@ -1337,7 +1337,7 @@ gnc_tree_control_split_reg_duplicate_current (GncTreeViewSplitReg *view) if (!gnc_dup_trans_dialog (GTK_WIDGET (window), NULL, TRUE, &date, in_num, &out_num, in_tnum, &out_tnum, - xaccTransGetAssociation (trans), &out_tassoc)) + xaccTransGetDocLink (trans), &out_tdoclink)) { LEAVE("dup cancelled"); return FALSE; @@ -1382,11 +1382,11 @@ gnc_tree_control_split_reg_duplicate_current (GncTreeViewSplitReg *view) * because otherwise the ordering is not deterministic */ xaccTransSetDateEnteredSecs(new_trans, gnc_time(NULL)); - /* clear the associated entry if returned value NULL */ - if (out_tassoc == NULL) - xaccTransSetAssociation (new_trans, ""); + /* clear the linked document entry if returned value NULL */ + if (out_tdoclink == NULL) + xaccTransSetDocLink (new_trans, ""); else - g_free (out_tassoc); + g_free (out_tdoclink); /* set per book option */ gnc_set_num_action (new_trans, NULL, out_num, out_tnum); @@ -2171,9 +2171,9 @@ gnc_tree_control_auto_complete (GncTreeViewSplitReg *view, Transaction *trans, if (g_strcmp0 (text, new_text) == 0) { xaccTransCopyOnto (trans_from, trans); - /* if there is an association, lets clear it */ - if (xaccTransGetAssociation (trans_from) != NULL) - xaccTransSetAssociation (trans, ""); + /* if there is a doclink, lets clear it */ + if (xaccTransGetDocLink (trans_from) != NULL) + xaccTransSetDocLink (trans, ""); g_free (text); break; } diff --git a/gnucash/gnome/CMakeLists.txt b/gnucash/gnome/CMakeLists.txt index 775c57e47d..e6c54adef0 100644 --- a/gnucash/gnome/CMakeLists.txt +++ b/gnucash/gnome/CMakeLists.txt @@ -7,7 +7,7 @@ set (gnc_gnome_noinst_HEADERS business-options-gnome.h business-urls.h business-gnome-utils.h - dialog-assoc.h + dialog-doclink.h dialog-billterms.h dialog-choose-owner.h dialog-customer.h @@ -75,7 +75,7 @@ set (gnc_gnome_SOURCES business-options-gnome.c business-urls.c business-gnome-utils.c - dialog-assoc.c + dialog-doclink.c dialog-billterms.c dialog-choose-owner.c dialog-commodities.c diff --git a/gnucash/gnome/dialog-assoc.c b/gnucash/gnome/dialog-doclink.c similarity index 60% rename from gnucash/gnome/dialog-assoc.c rename to gnucash/gnome/dialog-doclink.c index 25e12a95ab..1af0fb34e5 100644 --- a/gnucash/gnome/dialog-assoc.c +++ b/gnucash/gnome/dialog-doclink.c @@ -1,5 +1,5 @@ /********************************************************************\ - * dialog-assoc.c -- Associations dialog * + * dialog-doclink.c -- Document link dialog * * Copyright (C) 2020 Robert Fewell * * * * This program is free software; you can redistribute it and/or * @@ -25,8 +25,8 @@ #include #include -#include "dialog-assoc.h" -#include "dialog-assoc-utils.h" +#include "dialog-doclink.h" +#include "dialog-doclink-utils.h" #include "dialog-utils.h" #include "gnc-component-manager.h" @@ -45,12 +45,12 @@ #include "Account.h" #include "dialog-invoice.h" -#define DIALOG_ASSOC_CM_CLASS "dialog-assoc" -#define GNC_PREFS_GROUP_BUS "dialogs.business-assoc" -#define GNC_PREFS_GROUP_TRANS "dialogs.trans-assoc" +#define DIALOG_DOCLINK_CM_CLASS "dialog-doclink" +#define GNC_PREFS_GROUP_BUS "dialogs.business-doclink" +#define GNC_PREFS_GROUP_TRANS "dialogs.trans-doclink" /** Enumeration for the tree-store */ -enum GncAssocColumn +enum GncDoclinkColumn { DATE_ITEM, DATE_INT64, // used just for sorting date_trans @@ -76,7 +76,7 @@ typedef struct GtkTreeModel *model; gint component_id; QofSession *session; -}AssocDialog; +}DoclinkDialog; /* This static indicates the debugging module that this .o belongs to. */ static QofLogModule log_module = GNC_MOD_GUI; @@ -84,20 +84,20 @@ static QofLogModule log_module = GNC_MOD_GUI; /* =================================================================== */ void -gnc_assoc_open_uri (GtkWindow *parent, const gchar *uri) +gnc_doclink_open_uri (GtkWindow *parent, const gchar *uri) { if (uri && *uri) { gchar *scheme = gnc_uri_get_scheme (uri); - gchar *path_head = gnc_assoc_get_path_head (); - gchar *run_uri = gnc_assoc_get_use_uri (path_head, uri, scheme); + gchar *path_head = gnc_doclink_get_path_head (); + gchar *run_uri = gnc_doclink_get_use_uri (path_head, uri, scheme); gchar *run_scheme = gnc_uri_get_scheme (run_uri); PINFO("Open uri scheme is '%s', uri is '%s'", run_scheme, run_uri); if (run_scheme) // make sure we have a scheme entry { - gnc_launch_assoc (GTK_WINDOW (parent), run_uri); + gnc_launch_doclink (GTK_WINDOW (parent), run_uri); g_free (run_scheme); } g_free (run_uri); @@ -194,14 +194,14 @@ static void setup_file_dialog (GtkBuilder *builder, GtkFileChooserButton *fcb, const gchar *path_head, const gchar *uri, gchar *scheme) { - gchar *display_uri = gnc_assoc_get_unescape_uri (path_head, uri, scheme); + gchar *display_uri = gnc_doclink_get_unescape_uri (path_head, uri, scheme); if (display_uri) { GtkWidget *label; GtkWidget *existing_hbox = GTK_WIDGET(gtk_builder_get_object (builder, "existing_hbox")); GtkWidget *image = gtk_image_new_from_icon_name ("dialog-warning", GTK_ICON_SIZE_SMALL_TOOLBAR); - gchar *use_uri = gnc_assoc_get_use_uri (path_head, uri, scheme); + gchar *use_uri = gnc_doclink_get_use_uri (path_head, uri, scheme); gchar *uri_label = g_strdup_printf ("%s '%s'", _("Existing Document Link is"), display_uri); label = gtk_label_new (uri_label); @@ -230,7 +230,8 @@ setup_file_dialog (GtkBuilder *builder, GtkFileChooserButton *fcb, } gchar * -gnc_assoc_get_uri_dialog (GtkWindow *parent, const gchar *title, const gchar *uri) +gnc_doclink_get_uri_dialog (GtkWindow *parent, const gchar *title, + const gchar *uri) { GtkWidget *dialog, *button_loc, *button_file, *ok_button, *warning_hbox; GtkBuilder *builder; @@ -240,21 +241,22 @@ gnc_assoc_get_uri_dialog (GtkWindow *parent, const gchar *title, const gchar *ur GtkWidget *head_label; int result; gchar *ret_uri = NULL; - gchar *path_head = gnc_assoc_get_path_head (); + gchar *path_head = gnc_doclink_get_path_head (); gchar *scheme = NULL; /* Create the dialog box */ builder = gtk_builder_new(); - gnc_builder_add_from_file (builder, "dialog-assoc.glade", "association_dialog"); - dialog = GTK_WIDGET(gtk_builder_get_object (builder, "association_dialog")); + gnc_builder_add_from_file (builder, "dialog-doclink.glade", + "linked_doc_dialog"); + dialog = GTK_WIDGET(gtk_builder_get_object (builder, "linked_doc_dialog")); gtk_window_set_title (GTK_WINDOW(dialog), title); if (parent != NULL) gtk_window_set_transient_for (GTK_WINDOW(dialog), GTK_WINDOW(parent)); // Set the name and style context for this widget so it can be easily manipulated with css - gtk_widget_set_name (GTK_WIDGET(dialog), "gnc-id-association"); - gnc_widget_style_context_add_class (GTK_WIDGET(dialog), "gnc-class-association"); + gtk_widget_set_name (GTK_WIDGET(dialog), "gnc-id-doclink"); + gnc_widget_style_context_add_class (GTK_WIDGET(dialog), "gnc-class-doclink"); head_label = GTK_WIDGET(gtk_builder_get_object (builder, "path_head_label")); ok_button = GTK_WIDGET(gtk_builder_get_object (builder, "ok_button")); @@ -263,7 +265,7 @@ gnc_assoc_get_uri_dialog (GtkWindow *parent, const gchar *title, const gchar *ur g_object_set_data (G_OBJECT(fcb), "okbut", ok_button); g_signal_connect (fcb, "file-set", G_CALLBACK(file_set_cb), ok_button); - button_file = GTK_WIDGET(gtk_builder_get_object (builder, "file_assoc")); + button_file = GTK_WIDGET(gtk_builder_get_object (builder, "linked_file")); g_signal_connect (button_file, "toggled", G_CALLBACK(uri_type_selected_cb), fcb); gtk_widget_show_all (GTK_WIDGET(gtk_builder_get_object (builder, "file_hbox"))); @@ -275,11 +277,11 @@ gnc_assoc_get_uri_dialog (GtkWindow *parent, const gchar *title, const gchar *ur g_signal_connect (entry, "changed", G_CALLBACK(location_ok_cb), ok_button); - button_loc = GTK_WIDGET(gtk_builder_get_object (builder, "loc_assoc")); + button_loc = GTK_WIDGET(gtk_builder_get_object (builder, "linked_loc")); g_signal_connect (button_loc, "toggled", G_CALLBACK(uri_type_selected_cb), entry); // display path head text and test if present - gnc_assoc_set_path_head_label (head_label, NULL, NULL); + gnc_doclink_set_path_head_label (head_label, NULL, NULL); // Check for uri is empty or NULL if (uri && *uri) @@ -360,31 +362,32 @@ gnc_assoc_get_uri_dialog (GtkWindow *parent, const gchar *title, const gchar *ur static void close_handler (gpointer user_data); static void -gnc_assoc_dialog_window_destroy_cb (GtkWidget *object, gpointer user_data) +gnc_doclink_dialog_window_destroy_cb (GtkWidget *object, gpointer user_data) { - AssocDialog *assoc_dialog = user_data; + DoclinkDialog *doclink_dialog = user_data; ENTER(" "); - gnc_unregister_gui_component (assoc_dialog->component_id); + gnc_unregister_gui_component (doclink_dialog->component_id); - if (assoc_dialog->window) + if (doclink_dialog->window) { - g_free (assoc_dialog->path_head); - gtk_widget_destroy (assoc_dialog->window); - assoc_dialog->window = NULL; + g_free (doclink_dialog->path_head); + gtk_widget_destroy (doclink_dialog->window); + doclink_dialog->window = NULL; } - g_free (assoc_dialog); + g_free (doclink_dialog); LEAVE(" "); } static gboolean -gnc_assoc_dialog_window_key_press_cb (GtkWidget *widget, GdkEventKey *event, gpointer user_data) +gnc_doclink_dialog_window_key_press_cb (GtkWidget *widget, GdkEventKey *event, + gpointer user_data) { - AssocDialog *assoc_dialog = user_data; + DoclinkDialog *doclink_dialog = user_data; if (event->keyval == GDK_KEY_Escape) { - close_handler (assoc_dialog); + close_handler (doclink_dialog); return TRUE; } else @@ -392,16 +395,16 @@ gnc_assoc_dialog_window_key_press_cb (GtkWidget *widget, GdkEventKey *event, gpo } static void -assoc_dialog_update (AssocDialog *assoc_dialog) +doclink_dialog_update (DoclinkDialog *doclink_dialog) { GtkTreeModel *model; GtkTreeIter iter; gboolean valid; /* disconnect the model from the treeview */ - model = gtk_tree_view_get_model (GTK_TREE_VIEW(assoc_dialog->view)); + model = gtk_tree_view_get_model (GTK_TREE_VIEW (doclink_dialog->view)); g_object_ref (G_OBJECT(model)); - gtk_tree_view_set_model (GTK_TREE_VIEW(assoc_dialog->view), NULL); + gtk_tree_view_set_model (GTK_TREE_VIEW (doclink_dialog->view), NULL); /* Get first row in list store */ valid = gtk_tree_model_get_iter_first (model, &iter); @@ -417,7 +420,9 @@ assoc_dialog_update (AssocDialog *assoc_dialog) if (!scheme || gnc_uri_is_file_scheme (scheme)) { - gchar *filename = gnc_assoc_get_unescape_uri (assoc_dialog->path_head, uri, scheme); + gchar *filename = + gnc_doclink_get_unescape_uri (doclink_dialog->path_head, + uri, scheme); if (g_file_test (filename, G_FILE_TEST_EXISTS)) gtk_list_store_set (GTK_LIST_STORE(model), &iter, AVAILABLE, _("File Found"), -1); @@ -447,12 +452,13 @@ assoc_dialog_update (AssocDialog *assoc_dialog) valid = gtk_tree_model_iter_next (model, &iter); } /* reconnect the model to the treeview */ - gtk_tree_view_set_model (GTK_TREE_VIEW(assoc_dialog->view), model); + gtk_tree_view_set_model (GTK_TREE_VIEW (doclink_dialog->view), model); g_object_unref (G_OBJECT(model)); } static void -update_model_with_changes (AssocDialog *assoc_dialog, GtkTreeIter *iter, const gchar *uri) +update_model_with_changes (DoclinkDialog *doclink_dialog, GtkTreeIter *iter, + const gchar *uri) { gchar *display_uri; gboolean rel = FALSE; @@ -461,53 +467,61 @@ update_model_with_changes (AssocDialog *assoc_dialog, GtkTreeIter *iter, const g if (!scheme) // path is relative rel = TRUE; - display_uri = gnc_assoc_get_unescape_uri (assoc_dialog->path_head, uri, scheme); - gtk_list_store_set (GTK_LIST_STORE(assoc_dialog->model), iter, + display_uri = gnc_doclink_get_unescape_uri (doclink_dialog->path_head, + uri, scheme); + gtk_list_store_set (GTK_LIST_STORE (doclink_dialog->model), iter, DISPLAY_URI, display_uri, AVAILABLE, _("File Found"), URI, uri, URI_RELATIVE, rel, // used just for sorting relative column URI_RELATIVE_PIX, (rel == TRUE ? "emblem-default" : NULL), -1); if (!rel && !gnc_uri_is_file_scheme (scheme)) - gtk_list_store_set (GTK_LIST_STORE(assoc_dialog->model), iter, AVAILABLE, _("Unknown"), -1); + gtk_list_store_set (GTK_LIST_STORE (doclink_dialog->model), iter, + AVAILABLE, _("Unknown"), -1); g_free (display_uri); g_free (scheme); } static void -update_total_entries (AssocDialog *assoc_dialog) +update_total_entries (DoclinkDialog *doclink_dialog) { - gint entries = gtk_tree_model_iter_n_children (GTK_TREE_MODEL(assoc_dialog->model), NULL); + gint entries = + gtk_tree_model_iter_n_children (GTK_TREE_MODEL (doclink_dialog->model), + NULL); if (entries > 0) { gchar *total = g_strdup_printf ("%s %d", _("Total Entries"), entries); - gtk_label_set_text (GTK_LABEL(assoc_dialog->total_entries_label), total); - gtk_widget_show (assoc_dialog->total_entries_label); + gtk_label_set_text (GTK_LABEL (doclink_dialog->total_entries_label), + total); + gtk_widget_show (doclink_dialog->total_entries_label); g_free (total); } else - gtk_widget_hide (assoc_dialog->total_entries_label); + gtk_widget_hide (doclink_dialog->total_entries_label); } static void row_selected_bus_cb (GtkTreeView *view, GtkTreePath *path, GtkTreeViewColumn *col, gpointer user_data) { - AssocDialog *assoc_dialog = user_data; - GtkTreeIter iter; + DoclinkDialog *doclink_dialog = user_data; + GtkTreeIter iter; GncInvoice *invoice; gchar *uri = NULL; // path describes a non-existing row - should not happen - g_return_if_fail (gtk_tree_model_get_iter (assoc_dialog->model, &iter, path)); + g_return_if_fail (gtk_tree_model_get_iter (doclink_dialog->model, + &iter, path)); - gtk_tree_model_get (assoc_dialog->model, &iter, URI, &uri, ITEM_POINTER, &invoice, -1); + gtk_tree_model_get (doclink_dialog->model, &iter, URI, + &uri, ITEM_POINTER, &invoice, -1); - // Open associated link, subtract 1 to allow for date_int64 - if (gtk_tree_view_get_column (GTK_TREE_VIEW(assoc_dialog->view), DISPLAY_URI - 1) == col) - gnc_assoc_open_uri (GTK_WINDOW(assoc_dialog->window), uri); + // Open linked document, subtract 1 to allow for date_int64 + if (gtk_tree_view_get_column (GTK_TREE_VIEW (doclink_dialog->view), + DISPLAY_URI - 1) == col) + gnc_doclink_open_uri (GTK_WINDOW (doclink_dialog->window), uri); if (!invoice) { @@ -516,53 +530,60 @@ row_selected_bus_cb (GtkTreeView *view, GtkTreePath *path, } // Open Invoice, subtract 1 to allow for date_int64 - if (gtk_tree_view_get_column (GTK_TREE_VIEW(assoc_dialog->view), DESC_ID - 1) == col) + if (gtk_tree_view_get_column (GTK_TREE_VIEW (doclink_dialog->view), + DESC_ID - 1) == col) { GncPluginPage *page; InvoiceWindow *iw; - iw = gnc_ui_invoice_edit (GTK_WINDOW(assoc_dialog->window), invoice); + iw = gnc_ui_invoice_edit (GTK_WINDOW (doclink_dialog->window), + invoice); gnc_plugin_page_invoice_new (iw); } - // Open Invoice association dialog, subtract 1 to allow for date_int64 - if (gtk_tree_view_get_column (GTK_TREE_VIEW(assoc_dialog->view), AVAILABLE - 1) == col) + // Open Invoice document link dialog, subtract 1 to allow for date_int64 + if (gtk_tree_view_get_column (GTK_TREE_VIEW (doclink_dialog->view), + AVAILABLE - 1) == col) { gchar *ret_uri = NULL; - if (assoc_dialog->book_ro) + if (doclink_dialog->book_ro) { - gnc_warning_dialog (GTK_WINDOW(assoc_dialog->window), "%s", _("Business item can not be modified.")); + gnc_warning_dialog (GTK_WINDOW (doclink_dialog->window), "%s", + _("Business item can not be modified.")); g_free (uri); return; } /* Translators: This is the title of a dialog box for linking an external file or URI with the current bill, invoice, transaction, or voucher. */ - ret_uri = gnc_assoc_get_uri_dialog (GTK_WINDOW(assoc_dialog->window), _("Manage Document Link"), uri); + ret_uri = + gnc_doclink_get_uri_dialog (GTK_WINDOW (doclink_dialog->window), + _("Manage Document Link"), uri); if (ret_uri && g_strcmp0 (uri, ret_uri) != 0) { - gncInvoiceSetAssociation (invoice, ret_uri); + gncInvoiceSetDocLink (invoice, ret_uri); if (g_strcmp0 (ret_uri, "") == 0) // delete uri { // update the asooc parts for invoice window if present - gnc_invoice_update_assoc_for_window (invoice, ret_uri); - gtk_list_store_remove (GTK_LIST_STORE(assoc_dialog->model), &iter); - update_total_entries (assoc_dialog); + gnc_invoice_update_doclink_for_window (invoice, ret_uri); + gtk_list_store_remove (GTK_LIST_STORE (doclink_dialog->model), + &iter); + update_total_entries (doclink_dialog); } else // update uri { gchar *display_uri; gchar *scheme = gnc_uri_get_scheme (ret_uri); - display_uri = gnc_assoc_get_unescape_uri (assoc_dialog->path_head, ret_uri, scheme); + display_uri = gnc_doclink_get_unescape_uri (doclink_dialog->path_head, ret_uri, scheme); - update_model_with_changes (assoc_dialog, &iter, ret_uri); + update_model_with_changes (doclink_dialog, &iter, ret_uri); // update the asooc parts for invoice window if present - gnc_invoice_update_assoc_for_window (invoice, display_uri); + gnc_invoice_update_doclink_for_window (invoice, display_uri); g_free (scheme); g_free (display_uri); @@ -577,19 +598,22 @@ static void row_selected_trans_cb (GtkTreeView *view, GtkTreePath *path, GtkTreeViewColumn *col, gpointer user_data) { - AssocDialog *assoc_dialog = user_data; - GtkTreeIter iter; + DoclinkDialog *doclink_dialog = user_data; + GtkTreeIter iter; Split *split; gchar *uri = NULL; // path describes a non-existing row - should not happen - g_return_if_fail (gtk_tree_model_get_iter (assoc_dialog->model, &iter, path)); + g_return_if_fail (gtk_tree_model_get_iter (doclink_dialog->model, + &iter, path)); - gtk_tree_model_get (assoc_dialog->model, &iter, URI, &uri, ITEM_POINTER, &split, -1); + gtk_tree_model_get (doclink_dialog->model, &iter, URI, + &uri, ITEM_POINTER, &split, -1); // Open linked document, subtract 1 to allow for date_int64 - if (gtk_tree_view_get_column (GTK_TREE_VIEW(assoc_dialog->view), DISPLAY_URI - 1) == col) - gnc_assoc_open_uri (GTK_WINDOW(assoc_dialog->window), uri); + if (gtk_tree_view_get_column (GTK_TREE_VIEW (doclink_dialog->view), + DISPLAY_URI - 1) == col) + gnc_doclink_open_uri (GTK_WINDOW (doclink_dialog->window), uri); if (!split) { @@ -598,7 +622,8 @@ row_selected_trans_cb (GtkTreeView *view, GtkTreePath *path, } // Open transaction, subtract 1 to allow for date_int64 - if (gtk_tree_view_get_column (GTK_TREE_VIEW(assoc_dialog->view), DESC_ITEM - 1) == col) + if (gtk_tree_view_get_column (GTK_TREE_VIEW(doclink_dialog->view), + DESC_ITEM - 1) == col) { GncPluginPage *page; GNCSplitReg *gsr; @@ -616,32 +641,38 @@ row_selected_trans_cb (GtkTreeView *view, GtkTreePath *path, gnc_split_reg_jump_to_split (gsr, split); } - // Open transaction association dialog, subtract 1 to allow for date_int64 - if (gtk_tree_view_get_column (GTK_TREE_VIEW(assoc_dialog->view), AVAILABLE - 1) == col) + // Open transaction document link dialog, subtract 1 to allow for date_int64 + if (gtk_tree_view_get_column (GTK_TREE_VIEW(doclink_dialog->view), AVAILABLE - 1) == col) { Transaction *trans; gchar *ret_uri = NULL; trans = xaccSplitGetParent (split); - if (xaccTransIsReadonlyByPostedDate (trans) || xaccTransGetReadOnly (trans) || assoc_dialog->book_ro) + if (xaccTransIsReadonlyByPostedDate (trans) || + xaccTransGetReadOnly (trans) || + doclink_dialog->book_ro) { - gnc_warning_dialog (GTK_WINDOW(assoc_dialog->window), "%s", _("Transaction can not be modified.")); + gnc_warning_dialog (GTK_WINDOW (doclink_dialog->window), "%s", + _("Transaction can not be modified.")); g_free (uri); return; } - ret_uri = gnc_assoc_get_uri_dialog (GTK_WINDOW(assoc_dialog->window), _("Manage Document Link"), uri); + ret_uri = + gnc_doclink_get_uri_dialog (GTK_WINDOW (doclink_dialog->window), + _("Manage Document Link"), uri); if (ret_uri && g_strcmp0 (uri, ret_uri) != 0) { - xaccTransSetAssociation (trans, ret_uri); + xaccTransSetDocLink (trans, ret_uri); if (g_strcmp0 (ret_uri, "") == 0) // deleted uri { - gtk_list_store_remove (GTK_LIST_STORE(assoc_dialog->model), &iter); - update_total_entries (assoc_dialog); + gtk_list_store_remove (GTK_LIST_STORE (doclink_dialog->model), + &iter); + update_total_entries (doclink_dialog); } else // updated uri - update_model_with_changes (assoc_dialog, &iter, ret_uri); + update_model_with_changes (doclink_dialog, &iter, ret_uri); } g_free (ret_uri); } @@ -651,9 +682,9 @@ row_selected_trans_cb (GtkTreeView *view, GtkTreePath *path, static void add_bus_info_to_model (QofInstance* data, gpointer user_data) { - AssocDialog *assoc_dialog = user_data; - GncInvoice *invoice = GNC_INVOICE(data); - const gchar* uri = gncInvoiceGetAssociation (invoice); + DoclinkDialog *doclink_dialog = user_data; + GncInvoice *invoice = GNC_INVOICE(data); + const gchar *uri = gncInvoiceGetDocLink (invoice); GtkTreeIter iter; if (uri && *uri) @@ -690,11 +721,12 @@ add_bus_info_to_model (QofInstance* data, gpointer user_data) if (!scheme) // path is relative rel = TRUE; - display_uri = gnc_assoc_get_unescape_uri (assoc_dialog->path_head, uri, scheme); + display_uri = gnc_doclink_get_unescape_uri (doclink_dialog->path_head, + uri, scheme); - gtk_list_store_append (GTK_LIST_STORE(assoc_dialog->model), &iter); + gtk_list_store_append (GTK_LIST_STORE (doclink_dialog->model), &iter); - gtk_list_store_set (GTK_LIST_STORE(assoc_dialog->model), &iter, + gtk_list_store_set (GTK_LIST_STORE (doclink_dialog->model), &iter, DATE_ITEM, datebuff, DATE_INT64, t, // used just for sorting date column DESC_ID, gncInvoiceGetID (invoice), @@ -711,13 +743,13 @@ add_bus_info_to_model (QofInstance* data, gpointer user_data) static void add_trans_info_to_model (QofInstance* data, gpointer user_data) { - AssocDialog *assoc_dialog = user_data; - Transaction *trans = GNC_TRANSACTION(data); - gchar *uri; - GtkTreeIter iter; + DoclinkDialog *doclink_dialog = user_data; + Transaction *trans = GNC_TRANSACTION(data); + gchar *uri; + GtkTreeIter iter; // fix an earlier error when storing relative paths before version 3.5 - uri = gnc_assoc_convert_trans_associate_uri (trans, assoc_dialog->book_ro); + uri = gnc_doclink_convert_trans_link_uri (trans, doclink_dialog->book_ro); if (uri && *uri) { @@ -731,14 +763,15 @@ add_trans_info_to_model (QofInstance* data, gpointer user_data) if (t == 0) t = gnc_time (NULL); qof_print_date_buff (datebuff, MAX_DATE_LENGTH, t); - gtk_list_store_append (GTK_LIST_STORE(assoc_dialog->model), &iter); + gtk_list_store_append (GTK_LIST_STORE (doclink_dialog->model), &iter); if (!scheme) // path is relative rel = TRUE; - display_uri = gnc_assoc_get_unescape_uri (assoc_dialog->path_head, uri, scheme); + display_uri = gnc_doclink_get_unescape_uri (doclink_dialog->path_head, + uri, scheme); - gtk_list_store_set (GTK_LIST_STORE(assoc_dialog->model), &iter, + gtk_list_store_set (GTK_LIST_STORE (doclink_dialog->model), &iter, DATE_ITEM, datebuff, DATE_INT64, t, // used just for sorting date column DESC_ITEM, xaccTransGetDescription (trans), @@ -753,102 +786,108 @@ add_trans_info_to_model (QofInstance* data, gpointer user_data) } static void -get_bus_info (AssocDialog *assoc_dialog) +get_bus_info (DoclinkDialog *doclink_dialog) { QofBook *book = gnc_get_current_book(); /* disconnect the model from the treeview */ - assoc_dialog->model = gtk_tree_view_get_model (GTK_TREE_VIEW(assoc_dialog->view)); - g_object_ref (G_OBJECT(assoc_dialog->model)); - gtk_tree_view_set_model (GTK_TREE_VIEW(assoc_dialog->view), NULL); + doclink_dialog->model = + gtk_tree_view_get_model (GTK_TREE_VIEW (doclink_dialog->view)); + g_object_ref (G_OBJECT (doclink_dialog->model)); + gtk_tree_view_set_model (GTK_TREE_VIEW (doclink_dialog->view), NULL); /* Clear the list store */ - gtk_list_store_clear (GTK_LIST_STORE(assoc_dialog->model)); + gtk_list_store_clear (GTK_LIST_STORE (doclink_dialog->model)); /* Loop through the invoices */ qof_collection_foreach (qof_book_get_collection (book, GNC_ID_INVOICE), - add_bus_info_to_model, assoc_dialog); + add_bus_info_to_model, doclink_dialog); - update_total_entries (assoc_dialog); + update_total_entries (doclink_dialog); /* reconnect the model to the treeview */ - gtk_tree_view_set_model (GTK_TREE_VIEW(assoc_dialog->view), assoc_dialog->model); - g_object_unref (G_OBJECT(assoc_dialog->model)); + gtk_tree_view_set_model (GTK_TREE_VIEW (doclink_dialog->view), + doclink_dialog->model); + g_object_unref (G_OBJECT (doclink_dialog->model)); } static void -get_trans_info (AssocDialog *assoc_dialog) +get_trans_info (DoclinkDialog *doclink_dialog) { QofBook *book = gnc_get_current_book(); - assoc_dialog->book_ro = qof_book_is_readonly (book); + doclink_dialog->book_ro = qof_book_is_readonly (book); /* disconnect the model from the treeview */ - assoc_dialog->model = gtk_tree_view_get_model (GTK_TREE_VIEW(assoc_dialog->view)); - g_object_ref (G_OBJECT(assoc_dialog->model)); - gtk_tree_view_set_model (GTK_TREE_VIEW(assoc_dialog->view), NULL); + doclink_dialog->model = + gtk_tree_view_get_model (GTK_TREE_VIEW (doclink_dialog->view)); + g_object_ref (G_OBJECT (doclink_dialog->model)); + gtk_tree_view_set_model (GTK_TREE_VIEW (doclink_dialog->view), NULL); /* Clear the list store */ - gtk_list_store_clear (GTK_LIST_STORE(assoc_dialog->model)); + gtk_list_store_clear (GTK_LIST_STORE (doclink_dialog->model)); /* Loop through the transactions */ qof_collection_foreach (qof_book_get_collection (book, GNC_ID_TRANS), - add_trans_info_to_model, assoc_dialog); + add_trans_info_to_model, doclink_dialog); - update_total_entries (assoc_dialog); + update_total_entries (doclink_dialog); /* reconnect the model to the treeview */ - gtk_tree_view_set_model (GTK_TREE_VIEW(assoc_dialog->view), assoc_dialog->model); - g_object_unref (G_OBJECT(assoc_dialog->model)); + gtk_tree_view_set_model (GTK_TREE_VIEW (doclink_dialog->view), + doclink_dialog->model); + g_object_unref (G_OBJECT (doclink_dialog->model)); } static void -gnc_assoc_dialog_reload_button_cb (GtkWidget *widget, gpointer user_data) +gnc_doclink_dialog_reload_button_cb (GtkWidget *widget, gpointer user_data) { - AssocDialog *assoc_dialog = user_data; - gchar *path_head = gnc_assoc_get_path_head (); + DoclinkDialog *doclink_dialog = user_data; + gchar *path_head = gnc_doclink_get_path_head (); - if (g_strcmp0 (path_head, assoc_dialog->path_head) != 0) + if (g_strcmp0 (path_head, doclink_dialog->path_head) != 0) { - g_free (assoc_dialog->path_head); - assoc_dialog->path_head = g_strdup (path_head); + g_free (doclink_dialog->path_head); + doclink_dialog->path_head = g_strdup (path_head); // display path head text and test if present - gnc_assoc_set_path_head_label (assoc_dialog->path_head_label, NULL, NULL); + gnc_doclink_set_path_head_label (doclink_dialog->path_head_label, + NULL, NULL); } g_free (path_head); - if (assoc_dialog->is_list_trans) - get_trans_info (assoc_dialog); + if (doclink_dialog->is_list_trans) + get_trans_info (doclink_dialog); else - get_bus_info (assoc_dialog); + get_bus_info (doclink_dialog); } static void -gnc_assoc_dialog_reload_check_button_cb (GtkWidget *widget, gpointer user_data) +gnc_doclink_dialog_reload_check_button_cb (GtkWidget *widget, + gpointer user_data) { - AssocDialog *assoc_dialog = user_data; + DoclinkDialog *doclink_dialog = user_data; - gnc_assoc_dialog_reload_button_cb (widget, user_data); - assoc_dialog_update (assoc_dialog); + gnc_doclink_dialog_reload_button_cb (widget, user_data); + doclink_dialog_update (doclink_dialog); } static void -gnc_assoc_dialog_check_button_cb (GtkWidget *widget, gpointer user_data) +gnc_doclink_dialog_check_button_cb (GtkWidget *widget, gpointer user_data) { - AssocDialog *assoc_dialog = user_data; - assoc_dialog_update (assoc_dialog); + DoclinkDialog *doclink_dialog = user_data; + doclink_dialog_update (doclink_dialog); } static void -gnc_assoc_dialog_close_button_cb (GtkWidget *widget, gpointer user_data) +gnc_doclink_dialog_close_button_cb (GtkWidget *widget, gpointer user_data) { - AssocDialog *assoc_dialog = user_data; - gnc_close_gui_component (assoc_dialog->component_id); + DoclinkDialog *doclink_dialog = user_data; + gnc_close_gui_component (doclink_dialog->component_id); } static void -gnc_assoc_dialog_create (GtkWindow *parent, AssocDialog *assoc_dialog) +gnc_doclink_dialog_create (GtkWindow *parent, DoclinkDialog *doclink_dialog) { GtkWidget *window; GtkBuilder *builder; @@ -858,73 +897,92 @@ gnc_assoc_dialog_create (GtkWindow *parent, AssocDialog *assoc_dialog) ENTER(" "); builder = gtk_builder_new(); - gnc_builder_add_from_file (builder, "dialog-assoc.glade", "list-store"); - gnc_builder_add_from_file (builder, "dialog-assoc.glade", "association_window"); + gnc_builder_add_from_file (builder, "dialog-doclink.glade", "list-store"); + gnc_builder_add_from_file (builder, "dialog-doclink.glade", + "linked_doc_window"); - window = GTK_WIDGET(gtk_builder_get_object (builder, "association_window")); - assoc_dialog->window = window; - assoc_dialog->session = gnc_get_current_session(); + window = GTK_WIDGET(gtk_builder_get_object (builder, "linked_doc_window")); + doclink_dialog->window = window; + doclink_dialog->session = gnc_get_current_session(); button = GTK_WIDGET(gtk_builder_get_object (builder, "reload_button")); - g_signal_connect(button, "clicked", G_CALLBACK(gnc_assoc_dialog_reload_button_cb), assoc_dialog); + g_signal_connect (button, "clicked", + G_CALLBACK (gnc_doclink_dialog_reload_button_cb), + doclink_dialog); button = GTK_WIDGET(gtk_builder_get_object (builder, "reload_and_check_button")); - g_signal_connect(button, "clicked", G_CALLBACK(gnc_assoc_dialog_reload_check_button_cb), assoc_dialog); + g_signal_connect (button, "clicked", + G_CALLBACK (gnc_doclink_dialog_reload_check_button_cb), + doclink_dialog); button = GTK_WIDGET(gtk_builder_get_object (builder, "check_button")); - g_signal_connect(button, "clicked", G_CALLBACK(gnc_assoc_dialog_check_button_cb), assoc_dialog); + g_signal_connect (button, "clicked", + G_CALLBACK (gnc_doclink_dialog_check_button_cb), + doclink_dialog); button = GTK_WIDGET(gtk_builder_get_object (builder, "close_button")); - g_signal_connect(button, "clicked", G_CALLBACK(gnc_assoc_dialog_close_button_cb), assoc_dialog); + g_signal_connect (button, "clicked", + G_CALLBACK (gnc_doclink_dialog_close_button_cb), + doclink_dialog); // Set the widget name and style context for this dialog so it can be easily manipulated with css - gtk_widget_set_name (GTK_WIDGET(window), "gnc-id-transaction-associations"); - gnc_widget_style_context_add_class (GTK_WIDGET(window), "gnc-class-association"); + gtk_widget_set_name (GTK_WIDGET (window), "gnc-id-transaction-doclinks"); + gnc_widget_style_context_add_class (GTK_WIDGET (window), + "gnc-class-doclink"); - assoc_dialog->view = GTK_WIDGET(gtk_builder_get_object (builder, "treeview")); - assoc_dialog->path_head_label = GTK_WIDGET(gtk_builder_get_object (builder, "path-head")); - assoc_dialog->total_entries_label = GTK_WIDGET(gtk_builder_get_object (builder, "total_entries_label")); - assoc_dialog->path_head = gnc_assoc_get_path_head (); + doclink_dialog->view = + GTK_WIDGET (gtk_builder_get_object (builder, "treeview")); + doclink_dialog->path_head_label = + GTK_WIDGET (gtk_builder_get_object (builder, "path-head")); + doclink_dialog->total_entries_label = + GTK_WIDGET (gtk_builder_get_object (builder, "total_entries_label")); + doclink_dialog->path_head = gnc_doclink_get_path_head (); // display path head text and test if present - gnc_assoc_set_path_head_label (assoc_dialog->path_head_label, NULL, NULL); + gnc_doclink_set_path_head_label (doclink_dialog->path_head_label, NULL, NULL); - // set the Associate column to be the one that expands - tree_column = GTK_TREE_VIEW_COLUMN(gtk_builder_get_object (builder, "assoc")); + // set the Linked column to be the one that expands + tree_column = + GTK_TREE_VIEW_COLUMN (gtk_builder_get_object (builder, "doclink")); gtk_tree_view_column_set_expand (tree_column, TRUE); /* default sort order */ gtk_tree_sortable_set_sort_column_id (GTK_TREE_SORTABLE(gtk_tree_view_get_model( - GTK_TREE_VIEW(assoc_dialog->view))), + GTK_TREE_VIEW (doclink_dialog->view))), DATE_INT64, GTK_SORT_ASCENDING); // Set grid lines option to preference - gtk_tree_view_set_grid_lines (GTK_TREE_VIEW(assoc_dialog->view), gnc_tree_view_get_grid_lines_pref ()); + gtk_tree_view_set_grid_lines (GTK_TREE_VIEW (doclink_dialog->view), + gnc_tree_view_get_grid_lines_pref ()); - selection = gtk_tree_view_get_selection (GTK_TREE_VIEW(assoc_dialog->view)); + selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (doclink_dialog->view)); gtk_tree_selection_set_mode (selection, GTK_SELECTION_SINGLE); - g_signal_connect (assoc_dialog->window, "destroy", - G_CALLBACK(gnc_assoc_dialog_window_destroy_cb), assoc_dialog); + g_signal_connect (doclink_dialog->window, "destroy", + G_CALLBACK (gnc_doclink_dialog_window_destroy_cb), + doclink_dialog); - g_signal_connect (assoc_dialog->window, "key_press_event", - G_CALLBACK(gnc_assoc_dialog_window_key_press_cb), assoc_dialog); + g_signal_connect (doclink_dialog->window, "key_press_event", + G_CALLBACK (gnc_doclink_dialog_window_key_press_cb), + doclink_dialog); // Setup the correct parts for each dialog - if (assoc_dialog->is_list_trans) + if (doclink_dialog->is_list_trans) { GObject *desc_item_tree_column = G_OBJECT(gtk_builder_get_object (builder, "desc_item")); GObject *desc_id_tree_column = G_OBJECT(gtk_builder_get_object (builder, "desc_id")); /* Translators: This is the label of a dialog box that lists all of the transaction that have files or URIs linked with them. */ - gtk_window_set_title (GTK_WINDOW(window), _("Transaction Document Links")); + gtk_window_set_title (GTK_WINDOW (window), _("Transaction Document Links")); gtk_tree_view_column_set_visible (GTK_TREE_VIEW_COLUMN(desc_id_tree_column), FALSE); gtk_tree_view_column_set_title (GTK_TREE_VIEW_COLUMN(desc_item_tree_column), _("Description")); - g_signal_connect (assoc_dialog->view, "row-activated", - G_CALLBACK(row_selected_trans_cb), (gpointer)assoc_dialog); - gnc_restore_window_size (GNC_PREFS_GROUP_TRANS, GTK_WINDOW(assoc_dialog->window), parent); - get_trans_info (assoc_dialog); + g_signal_connect (doclink_dialog->view, "row-activated", + G_CALLBACK (row_selected_trans_cb), + (gpointer)doclink_dialog); + gnc_restore_window_size (GNC_PREFS_GROUP_TRANS, + GTK_WINDOW (doclink_dialog->window), parent); + get_trans_info (doclink_dialog); } else { @@ -938,36 +996,42 @@ gnc_assoc_dialog_create (GtkWindow *parent, AssocDialog *assoc_dialog) /* Translators: This is the label of a dialog box that lists all of the invoices, bills, and vouchers that have files or URIs linked with them. */ - gtk_window_set_title (GTK_WINDOW(assoc_dialog->window), _("Business Document Links")); + gtk_window_set_title (GTK_WINDOW (doclink_dialog->window), + _("Business Document Links")); gtk_label_set_text (GTK_LABEL(help_label), gettext (item_string)); - g_signal_connect (assoc_dialog->view, "row-activated", - G_CALLBACK(row_selected_bus_cb), (gpointer)assoc_dialog); - gnc_restore_window_size (GNC_PREFS_GROUP_BUS, GTK_WINDOW(assoc_dialog->window), parent); - get_bus_info (assoc_dialog); + g_signal_connect (doclink_dialog->view, "row-activated", + G_CALLBACK (row_selected_bus_cb), + (gpointer)doclink_dialog); + gnc_restore_window_size (GNC_PREFS_GROUP_BUS, + GTK_WINDOW (doclink_dialog->window), parent); + get_bus_info (doclink_dialog); } - gtk_builder_connect_signals_full (builder, gnc_builder_connect_full_func, assoc_dialog); + gtk_builder_connect_signals_full (builder, gnc_builder_connect_full_func, + doclink_dialog); g_object_unref (G_OBJECT(builder)); gtk_widget_show_all (GTK_WIDGET(window)); - gtk_tree_view_columns_autosize (GTK_TREE_VIEW(assoc_dialog->view)); + gtk_tree_view_columns_autosize (GTK_TREE_VIEW(doclink_dialog->view)); LEAVE(" "); } static void close_handler (gpointer user_data) { - AssocDialog *assoc_dialog = user_data; + DoclinkDialog *doclink_dialog = user_data; ENTER(" "); - if (assoc_dialog->is_list_trans) - gnc_save_window_size (GNC_PREFS_GROUP_TRANS, GTK_WINDOW(assoc_dialog->window)); + if (doclink_dialog->is_list_trans) + gnc_save_window_size (GNC_PREFS_GROUP_TRANS, + GTK_WINDOW (doclink_dialog->window)); else - gnc_save_window_size (GNC_PREFS_GROUP_BUS, GTK_WINDOW(assoc_dialog->window)); - gtk_widget_destroy (GTK_WIDGET(assoc_dialog->window)); + gnc_save_window_size (GNC_PREFS_GROUP_BUS, + GTK_WINDOW (doclink_dialog->window)); + gtk_widget_destroy (GTK_WIDGET (doclink_dialog->window)); LEAVE(" "); } @@ -982,74 +1046,78 @@ static gboolean show_handler (const char *klass, gint component_id, gpointer user_data, gpointer iter_data) { - AssocDialog *assoc_dialog = user_data; + DoclinkDialog *doclink_dialog = user_data; gboolean is_bus = GPOINTER_TO_INT(iter_data); ENTER(" "); - if (!assoc_dialog) + if (!doclink_dialog) { LEAVE("No data structure"); return (FALSE); } // test if the dialog is the right one - if (is_bus == assoc_dialog->is_list_trans) + if (is_bus == doclink_dialog->is_list_trans) return (FALSE); - gtk_window_present (GTK_WINDOW(assoc_dialog->window)); + gtk_window_present (GTK_WINDOW(doclink_dialog->window)); LEAVE(" "); return (TRUE); } void -gnc_assoc_business_dialog (GtkWindow *parent) +gnc_doclink_business_dialog (GtkWindow *parent) { - AssocDialog *assoc_dialog; + DoclinkDialog *doclink_dialog; ENTER(" "); - if (gnc_forall_gui_components (DIALOG_ASSOC_CM_CLASS, show_handler, GINT_TO_POINTER(1))) + if (gnc_forall_gui_components (DIALOG_DOCLINK_CM_CLASS, + show_handler, GINT_TO_POINTER(1))) { LEAVE("Existing dialog raised"); return; } - assoc_dialog = g_new0 (AssocDialog, 1); + doclink_dialog = g_new0 (DoclinkDialog, 1); - assoc_dialog->is_list_trans = FALSE; + doclink_dialog->is_list_trans = FALSE; - gnc_assoc_dialog_create (parent, assoc_dialog); + gnc_doclink_dialog_create (parent, doclink_dialog); - assoc_dialog->component_id = gnc_register_gui_component (DIALOG_ASSOC_CM_CLASS, - refresh_handler, close_handler, - assoc_dialog); + doclink_dialog->component_id = + gnc_register_gui_component (DIALOG_DOCLINK_CM_CLASS, + refresh_handler, close_handler, + doclink_dialog); - gnc_gui_component_set_session (assoc_dialog->component_id, - assoc_dialog->session); + gnc_gui_component_set_session (doclink_dialog->component_id, + doclink_dialog->session); LEAVE(" "); } void -gnc_assoc_trans_dialog (GtkWindow *parent) +gnc_doclink_trans_dialog (GtkWindow *parent) { - AssocDialog *assoc_dialog; + DoclinkDialog *doclink_dialog; ENTER(" "); - if (gnc_forall_gui_components (DIALOG_ASSOC_CM_CLASS, show_handler, GINT_TO_POINTER(0))) + if (gnc_forall_gui_components (DIALOG_DOCLINK_CM_CLASS, + show_handler, GINT_TO_POINTER(0))) { LEAVE("Existing dialog raised"); return; } - assoc_dialog = g_new0 (AssocDialog, 1); - assoc_dialog->is_list_trans = TRUE; + doclink_dialog = g_new0 (DoclinkDialog, 1); + doclink_dialog->is_list_trans = TRUE; - gnc_assoc_dialog_create (parent, assoc_dialog); + gnc_doclink_dialog_create (parent, doclink_dialog); - assoc_dialog->component_id = gnc_register_gui_component (DIALOG_ASSOC_CM_CLASS, - refresh_handler, close_handler, - assoc_dialog); + doclink_dialog->component_id = + gnc_register_gui_component (DIALOG_DOCLINK_CM_CLASS, + refresh_handler, close_handler, + doclink_dialog); - gnc_gui_component_set_session (assoc_dialog->component_id, - assoc_dialog->session); + gnc_gui_component_set_session (doclink_dialog->component_id, + doclink_dialog->session); LEAVE(" "); } diff --git a/gnucash/gnome/dialog-assoc.h b/gnucash/gnome/dialog-doclink.h similarity index 70% rename from gnucash/gnome/dialog-assoc.h rename to gnucash/gnome/dialog-doclink.h index e57e3e997c..b313b0cfdd 100644 --- a/gnucash/gnome/dialog-assoc.h +++ b/gnucash/gnome/dialog-doclink.h @@ -1,5 +1,5 @@ /********************************************************************\ - * dialog-assoc.h -- Associations dialog * + * dialog-doclink.h -- Document links dialog * * Copyright (C) 2020 Robert Fewell * * * * This program is free software; you can redistribute it and/or * @@ -20,8 +20,8 @@ * Boston, MA 02110-1301, USA gnu@gnu.org * \********************************************************************/ -#ifndef DIALOG_ASSOC_H -#define DIALOG_ASSOC_H +#ifndef DIALOG_DOCLINK_H +#define DIALOG_DOCLINK_H /** Present the right edit dialog for the uri. * @@ -34,37 +34,38 @@ * * @return The ammeded uri, can be NULL if deletion required. */ -gchar * gnc_assoc_get_uri_dialog (GtkWindow *parent, const gchar *title, const gchar *uri); +gchar * gnc_doclink_get_uri_dialog (GtkWindow *parent, const gchar *title, + const gchar *uri); -/** Open the association uri. +/** Open the doclink uri. * - * A check is made for the uri being valid and then gnc_launch_assoc is used + * A check is made for the uri being valid and then gnc_launch_doclink is used * * @param parent The GtkWindow for the parent widget - * @param uri The association + * @param uri The doclink */ -void gnc_assoc_open_uri (GtkWindow *parent, const gchar *uri); +void gnc_doclink_open_uri (GtkWindow *parent, const gchar *uri); -/** Present a dialog to list all the Invoice associations. +/** Present a dialog to list all the Invoice linked documents. * - * A query is run to return all the invoice associations which + * A query is run to return all the invoice linked documents which * are then added to a tree view. From this tree view the invoice - * and association can be opened along with a dialog to edit the - * association. + * and linked document can be opened along with a dialog to edit the + * document link. * * @param parent The GtkWindow for the parent widget */ -void gnc_assoc_business_dialog (GtkWindow *parent); +void gnc_doclink_business_dialog (GtkWindow *parent); -/** Present a dialog to list all the Transaction associations. +/** Present a dialog to list all the Transaction linked documents. * - * A query is run to return all the transaction associations which + * A query is run to return all the transaction linked documents which * are then added to a tree view. From this tree view the transaction - * and association can be opened along with a dialog to edit the - * association. + * and linked document can be opened along with a dialog to edit the + * document link. * * @param parent The GtkWindow for the parent widget */ -void gnc_assoc_trans_dialog (GtkWindow *parent); +void gnc_doclink_trans_dialog (GtkWindow *parent); #endif diff --git a/gnucash/gnome/dialog-invoice.c b/gnucash/gnome/dialog-invoice.c index c248283789..ff309db53c 100644 --- a/gnucash/gnome/dialog-invoice.c +++ b/gnucash/gnome/dialog-invoice.c @@ -73,8 +73,8 @@ #include "gnc-main-window.h" #include "gnc-state.h" -#include "dialog-assoc.h" -#include "dialog-assoc-utils.h" +#include "dialog-doclink.h" +#include "dialog-doclink-utils.h" #include "dialog-transfer.h" #include "gnc-uri-utils.h" @@ -169,7 +169,7 @@ struct _invoice_window GtkWidget * active_check; GtkWidget * paid_label; - GtkWidget * assoc_link_button; + GtkWidget * doclink_button; GtkWidget * owner_box; GtkWidget * owner_label; @@ -328,12 +328,12 @@ gnc_invoice_window_get_invoice (InvoiceWindow *iw) } GtkWidget * -gnc_invoice_window_get_assoc_link_button (InvoiceWindow *iw) +gnc_invoice_window_get_doclink_button (InvoiceWindow *iw) { if (!iw) return NULL; - return iw->assoc_link_button; + return iw->doclink_button; } static void @@ -2407,10 +2407,10 @@ gnc_invoice_save_page (InvoiceWindow *iw, } static gboolean -assoc_link_button_cb (GtkLinkButton *button, InvoiceWindow *iw) +doclink_button_cb (GtkLinkButton *button, InvoiceWindow *iw) { GncInvoice *invoice = gncInvoiceLookup (iw->book, &iw->invoice_guid); - gnc_assoc_open_uri (GTK_WINDOW(iw->dialog), gncInvoiceGetAssociation (invoice)); + gnc_doclink_open_uri (GTK_WINDOW(iw->dialog), gncInvoiceGetDocLink (invoice)); return TRUE; } @@ -2427,7 +2427,7 @@ gnc_invoice_create_page (InvoiceWindow *iw, gpointer page) const gchar *prefs_group = NULL; gboolean is_credit_note = FALSE; const gchar *style_label = NULL; - const gchar *assoc_uri; + const gchar *doclink_uri; invoice = gncInvoiceLookup (iw->book, &iw->invoice_guid); is_credit_note = gncInvoiceGetIsCreditNote (invoice); @@ -2458,22 +2458,24 @@ gnc_invoice_create_page (InvoiceWindow *iw, gpointer page) iw->job_box = GTK_WIDGET (gtk_builder_get_object (builder, "page_job_hbox")); iw->paid_label = GTK_WIDGET (gtk_builder_get_object (builder, "paid_label")); - iw->assoc_link_button = GTK_WIDGET(gtk_builder_get_object (builder, "assoc_link_button")); - g_signal_connect (G_OBJECT(iw->assoc_link_button), "activate-link", - G_CALLBACK(assoc_link_button_cb), iw); + iw->doclink_button = GTK_WIDGET(gtk_builder_get_object (builder, "doclink_button")); + g_signal_connect (G_OBJECT (iw->doclink_button), "activate-link", + G_CALLBACK (doclink_button_cb), iw); - /* invoice association */ - assoc_uri = gncInvoiceGetAssociation (invoice); - if (assoc_uri) + /* invoice doclink */ + doclink_uri = gncInvoiceGetDocLink (invoice); + if (doclink_uri) { - gchar *display_uri = gnc_assoc_get_unescaped_just_uri (assoc_uri); - gtk_button_set_label (GTK_BUTTON(iw->assoc_link_button), _("Open Linked Document:")); - gtk_link_button_set_uri (GTK_LINK_BUTTON(iw->assoc_link_button), display_uri); - gtk_widget_show (GTK_WIDGET (iw->assoc_link_button)); + gchar *display_uri = gnc_doclink_get_unescaped_just_uri (doclink_uri); + gtk_button_set_label (GTK_BUTTON (iw->doclink_button), + _("Open Linked Document:")); + gtk_link_button_set_uri (GTK_LINK_BUTTON (iw->doclink_button), + display_uri); + gtk_widget_show (GTK_WIDGET (iw->doclink_button)); g_free (display_uri); } else - gtk_widget_hide (GTK_WIDGET (iw->assoc_link_button)); + gtk_widget_hide (GTK_WIDGET (iw->doclink_button)); // Add a style context for this label so it can be easily manipulated with css gnc_widget_style_context_add_class (GTK_WIDGET(iw->paid_label), "gnc-class-highlight"); @@ -2665,30 +2667,30 @@ gnc_invoice_create_page (InvoiceWindow *iw, gpointer page) } void -gnc_invoice_update_assoc_for_window (GncInvoice *invoice, const gchar *uri) +gnc_invoice_update_doclink_for_window (GncInvoice *invoice, const gchar *uri) { InvoiceWindow *iw = gnc_plugin_page_invoice_get_window (invoice); if (iw) { - GtkWidget *assoc_link_button = gnc_invoice_window_get_assoc_link_button (iw); + GtkWidget *doclink_button = gnc_invoice_window_get_doclink_button (iw); if (g_strcmp0 (uri, "") == 0) // deleted uri { GtkAction *uri_action; // update the menu actions - uri_action = gnc_plugin_page_get_action (GNC_PLUGIN_PAGE(iw->page), "BusinessAssociationOpenAction"); - gtk_action_set_sensitive (uri_action, FALSE); + uri_action = gnc_plugin_page_get_action (GNC_PLUGIN_PAGE(iw->page), "BusinessLinkOpenAction"); gtk_action_set_sensitive (uri_action, FALSE); - gtk_widget_hide (assoc_link_button); + gtk_widget_hide (doclink_button); } else { - gchar *display_uri = gnc_assoc_get_unescaped_just_uri (uri); - gtk_link_button_set_uri (GTK_LINK_BUTTON(assoc_link_button), display_uri); - gtk_widget_show (GTK_WIDGET(assoc_link_button)); + gchar *display_uri = gnc_doclink_get_unescaped_just_uri (uri); + gtk_link_button_set_uri (GTK_LINK_BUTTON (doclink_button), + display_uri); + gtk_widget_show (GTK_WIDGET (doclink_button)); g_free (display_uri); } } diff --git a/gnucash/gnome/dialog-invoice.h b/gnucash/gnome/dialog-invoice.h index 7b70c0838a..6130bf37ef 100644 --- a/gnucash/gnome/dialog-invoice.h +++ b/gnucash/gnome/dialog-invoice.h @@ -84,9 +84,10 @@ gchar *gnc_invoice_get_title (InvoiceWindow *iw); GncInvoice * gnc_invoice_window_get_invoice (InvoiceWindow *iw); -GtkWidget * gnc_invoice_window_get_assoc_link_button (InvoiceWindow *iw); +GtkWidget * gnc_invoice_window_get_doclink_button (InvoiceWindow *iw); -void gnc_invoice_update_assoc_for_window (GncInvoice *invoice, const gchar *uri); +void gnc_invoice_update_doclink_for_window (GncInvoice *invoice, + const gchar *uri); GncInvoiceType gnc_invoice_get_type_from_window(InvoiceWindow *iw); diff --git a/gnucash/gnome/gnc-plugin-basic-commands.c b/gnucash/gnome/gnc-plugin-basic-commands.c index 4c7691c72c..fb33a94aff 100644 --- a/gnucash/gnome/gnc-plugin-basic-commands.c +++ b/gnucash/gnome/gnc-plugin-basic-commands.c @@ -39,7 +39,7 @@ #include "gnc-plugin-basic-commands.h" #include "gnc-ui-util.h" -#include "dialog-assoc.h" +#include "dialog-doclink.h" #include "dialog-book-close.h" #include "dialog-file-access.h" #include "dialog-fincalc.h" @@ -213,8 +213,8 @@ static GtkActionEntry gnc_plugin_actions [] = G_CALLBACK (gnc_main_window_cmd_tools_imap_editor) }, { - "ToolsTransAssocAction", NULL, N_("_Transaction Associations"), NULL, - N_("View all Transaction Associations"), + "ToolsTransLinkedDocsAction", NULL, N_("_Transaction Linked Documents"), NULL, + N_("View all Transaction Linked Documents"), G_CALLBACK (gnc_main_window_cmd_tools_trans_assoc) }, @@ -606,7 +606,7 @@ static void gnc_main_window_cmd_tools_trans_assoc (GtkAction *action, GncMainWindowActionData *data) { gnc_set_busy_cursor (NULL, TRUE); - gnc_assoc_trans_dialog (GTK_WINDOW (data->window)); + gnc_doclink_trans_dialog (GTK_WINDOW (data->window)); gnc_unset_busy_cursor (NULL); } diff --git a/gnucash/gnome/gnc-plugin-business.c b/gnucash/gnome/gnc-plugin-business.c index 92d6c30c18..6c82463550 100644 --- a/gnucash/gnome/gnc-plugin-business.c +++ b/gnucash/gnome/gnc-plugin-business.c @@ -29,7 +29,7 @@ #include #include -#include "dialog-assoc.h" +#include "dialog-doclink.h" #include "dialog-billterms.h" #include "dialog-customer.h" #include "dialog-employee.h" @@ -275,8 +275,8 @@ static GtkActionEntry gnc_plugin_actions [] = /* Other menu items */ { - "BusinessAssocOpenAction", NULL, N_("Business _Associations"), NULL, - N_("View all Business Associations"), + "BusinessLinkOpenAction", NULL, N_("Business Links"), NULL, + N_("View all Linked Business Documents"), G_CALLBACK (gnc_plugin_business_cmd_assoc) }, { @@ -759,7 +759,7 @@ gnc_plugin_business_cmd_assoc (GtkAction *action, g_return_if_fail (mw != NULL); g_return_if_fail (GNC_IS_PLUGIN_BUSINESS (mw->data)); - gnc_assoc_business_dialog (GTK_WINDOW (mw->window)); + gnc_doclink_business_dialog (GTK_WINDOW (mw->window)); } static void diff --git a/gnucash/gnome/gnc-plugin-page-invoice.c b/gnucash/gnome/gnc-plugin-page-invoice.c index 067efb6724..18b7390bf4 100644 --- a/gnucash/gnome/gnc-plugin-page-invoice.c +++ b/gnucash/gnome/gnc-plugin-page-invoice.c @@ -43,8 +43,8 @@ #include "gnc-uri-utils.h" #include "gnc-window.h" #include "dialog-utils.h" -#include "dialog-assoc.h" -#include "dialog-assoc-utils.h" +#include "dialog-doclink.h" +#include "dialog-doclink-utils.h" #include "gncInvoice.h" /* This static indicates the debugging module that this .o belongs to. */ @@ -88,9 +88,9 @@ static void gnc_plugin_page_invoice_cmd_duplicateEntry (GtkAction *action, GncPl static void gnc_plugin_page_invoice_cmd_pay_invoice (GtkAction *action, GncPluginPageInvoice *plugin_page); static void gnc_plugin_page_invoice_cmd_save_layout (GtkAction *action, GncPluginPageInvoice *plugin_page); static void gnc_plugin_page_invoice_cmd_reset_layout (GtkAction *action, GncPluginPageInvoice *plugin_page); -static void gnc_plugin_page_invoice_cmd_associate (GtkAction *action, GncPluginPageInvoice *plugin_page); -static void gnc_plugin_page_invoice_cmd_associate_remove (GtkAction *action, GncPluginPageInvoice *plugin_page); -static void gnc_plugin_page_invoice_cmd_associate_open (GtkAction *action, GncPluginPageInvoice *plugin_page); +static void gnc_plugin_page_invoice_cmd_link (GtkAction *action, GncPluginPageInvoice *plugin_page); +static void gnc_plugin_page_invoice_cmd_link_remove (GtkAction *action, GncPluginPageInvoice *plugin_page); +static void gnc_plugin_page_invoice_cmd_link_open (GtkAction *action, GncPluginPageInvoice *plugin_page); static void gnc_plugin_page_invoice_cmd_company_report (GtkAction *action, GncPluginPageInvoice *plugin_page); static void gnc_plugin_page_redraw_help_cb( GnucashRegister *gsr, GncPluginPageInvoice *invoice_page ); @@ -218,14 +218,14 @@ static GtkActionEntry gnc_plugin_page_invoice_actions [] = G_CALLBACK (gnc_plugin_page_invoice_cmd_new_invoice) }, { - "BusinessAssociationAction", NULL, "_Manage Document Link...", NULL, + "BusinessLinkAction", NULL, "_Manage Document Link...", NULL, "Manage link of an external document to this item.", - G_CALLBACK (gnc_plugin_page_invoice_cmd_associate) + G_CALLBACK (gnc_plugin_page_invoice_cmd_link) }, { - "BusinessAssociationOpenAction", NULL, "_Open Linked Document", NULL, + "BusinessLinkOpenAction", NULL, "_Open Linked Document", NULL, "Open the linked document", - G_CALLBACK (gnc_plugin_page_invoice_cmd_associate_open) + G_CALLBACK (gnc_plugin_page_invoice_cmd_link_open) }, { "ToolsProcessPaymentAction", GNC_ICON_INVOICE_PAY, "_Pay Invoice", NULL, @@ -260,8 +260,7 @@ static const gchar *invoice_book_readwrite_actions[] = "EditDuplicateInvoiceAction", "BusinessNewInvoiceAction", "ToolsProcessPaymentAction", - "BusinessAssociationAction", - "BusinessAssociationRemoveAction", + "BusinessLinkAction", NULL }; @@ -301,8 +300,8 @@ static action_toolbar_labels invoice_action_labels[] = {"EditUnpostInvoiceAction", N_("_Unpost Invoice")}, {"BusinessNewInvoiceAction", N_("New _Invoice")}, {"ToolsProcessPaymentAction", N_("_Pay Invoice")}, - {"BusinessAssociationAction", N_("_Manage Document Link")}, - {"BusinessAssociationOpenAction", N_("_Open Linked Document")}, + {"BusinessLinkAction", N_("_Manage Document Link")}, + {"BusinessLinkOpenAction", N_("_Open Linked Document")}, {NULL, NULL}, }; @@ -322,8 +321,8 @@ static action_toolbar_labels bill_action_labels[] = {"EditUnpostInvoiceAction", N_("_Unpost Bill")}, {"BusinessNewInvoiceAction", N_("New _Bill")}, {"ToolsProcessPaymentAction", N_("_Pay Bill")}, - {"BusinessAssociationAction", N_("_Manage Document Link")}, - {"BusinessAssociationOpenAction", N_("_Open Linked Document")}, + {"BusinessLinkAction", N_("_Manage Document Link")}, + {"BusinessLinkOpenAction", N_("_Open Linked Document")}, {NULL, NULL}, }; @@ -343,8 +342,8 @@ static action_toolbar_labels voucher_action_labels[] = {"EditUnpostInvoiceAction", N_("_Unpost Voucher")}, {"BusinessNewInvoiceAction", N_("New _Voucher")}, {"ToolsProcessPaymentAction", N_("_Pay Voucher")}, - {"BusinessAssociationAction", N_("_Manage Document Link")}, - {"BusinessAssociationOpenAction", N_("_Open Linked Document")}, + {"BusinessLinkAction", N_("_Manage Document Link")}, + {"BusinessLinkOpenAction", N_("_Open Linked Document")}, {NULL, NULL}, }; @@ -364,8 +363,8 @@ static action_toolbar_labels creditnote_action_labels[] = {"EditUnpostInvoiceAction", N_("_Unpost Credit Note")}, {"BusinessNewInvoiceAction", N_("New _Credit Note")}, {"ToolsProcessPaymentAction", N_("_Pay Credit Note")}, - {"BusinessAssociationAction", N_("_Manage Document Link")}, - {"BusinessAssociationOpenAction", N_("_Open Linked Document")}, + {"BusinessLinkAction", N_("_Manage Document Link")}, + {"BusinessLinkOpenAction", N_("_Open Linked Document")}, {NULL, NULL}, }; @@ -380,8 +379,8 @@ static action_toolbar_labels invoice_action_tooltips[] = { {"BlankEntryAction", N_("Move to the blank entry at the bottom of the invoice")}, {"ToolsProcessPaymentAction", N_("Enter a payment for the owner of this invoice") }, {"ReportsCompanyReportAction", N_("Open a company report window for the owner of this invoice") }, - {"BusinessAssociationAction", N_("Manage Document Link")}, - {"BusinessAssociationOpenAction", N_("Open Linked Document")}, + {"BusinessLinkAction", N_("Manage Document Link")}, + {"BusinessLinkOpenAction", N_("Open Linked Document")}, {NULL, NULL}, }; @@ -401,8 +400,8 @@ static action_toolbar_labels bill_action_tooltips[] = { {"BlankEntryAction", N_("Move to the blank entry at the bottom of the bill")}, {"ToolsProcessPaymentAction", N_("Enter a payment for the owner of this bill") }, {"ReportsCompanyReportAction", N_("Open a company report window for the owner of this bill") }, - {"BusinessAssociationAction", N_("Manage Document Link")}, - {"BusinessAssociationOpenAction", N_("Open Linked Document")}, + {"BusinessLinkAction", N_("Manage Document Link")}, + {"BusinessLinkOpenAction", N_("Open Linked Document")}, {NULL, NULL}, }; @@ -422,8 +421,8 @@ static action_toolbar_labels voucher_action_tooltips[] = { {"BlankEntryAction", N_("Move to the blank entry at the bottom of the voucher")}, {"ToolsProcessPaymentAction", N_("Enter a payment for the owner of this voucher") }, {"ReportsCompanyReportAction", N_("Open a company report window for the owner of this voucher") }, - {"BusinessAssociationAction", N_("Manage Document Link")}, - {"BusinessAssociationOpenAction", N_("Open Linked Document")}, + {"BusinessLinkAction", N_("Manage Document Link")}, + {"BusinessLinkOpenAction", N_("Open Linked Document")}, {NULL, NULL}, }; @@ -443,8 +442,8 @@ static action_toolbar_labels creditnote_action_tooltips[] = { {"BlankEntryAction", N_("Move to the blank entry at the bottom of the credit note")}, {"ToolsProcessPaymentAction", N_("Enter a payment for the owner of this credit note") }, {"ReportsCompanyReportAction", N_("Open a company report window for the owner of this credit note") }, - {"BusinessAssociationAction", N_("_Manage Document Link")}, - {"BusinessAssociationOpenAction", N_("Open Linked Document")}, + {"BusinessLinkAction", N_("_Manage Document Link")}, + {"BusinessLinkOpenAction", N_("Open Linked Document")}, {NULL, NULL}, }; @@ -607,8 +606,7 @@ update_assoc_actions (GncPluginPage *plugin_page, gboolean has_uri) { GtkAction *uri_action; - uri_action = gnc_plugin_page_get_action (GNC_PLUGIN_PAGE(plugin_page), "BusinessAssociationOpenAction"); - gtk_action_set_sensitive (uri_action, has_uri); + uri_action = gnc_plugin_page_get_action (GNC_PLUGIN_PAGE(plugin_page), "BusinessLinkOpenAction"); gtk_action_set_sensitive (uri_action, has_uri); } @@ -743,9 +741,9 @@ gnc_plugin_page_invoice_update_menus (GncPluginPage *page, gboolean is_posted, g /* update the layout action tooltips */ gnc_plugin_page_invoice_action_update (action_group, tooltip_layout_list, (void*)gtk_action_set_tooltip); - // update association buttons + // update doclink buttons invoice = gnc_invoice_window_get_invoice (priv->iw); - if (gncInvoiceGetAssociation (invoice)) + if (gncInvoiceGetDocLink (invoice)) has_uri = TRUE; update_assoc_actions (page, has_uri); @@ -1341,7 +1339,7 @@ gnc_plugin_page_invoice_cmd_reset_layout (GtkAction *action, } static void -gnc_plugin_page_invoice_cmd_associate (GtkAction *action, +gnc_plugin_page_invoice_cmd_link (GtkAction *action, GncPluginPageInvoice *plugin_page) { GncPluginPageInvoicePrivate *priv; @@ -1358,27 +1356,30 @@ gnc_plugin_page_invoice_cmd_associate (GtkAction *action, parent = GTK_WINDOW(gnc_plugin_page_get_window (GNC_PLUGIN_PAGE(plugin_page))); invoice = gnc_invoice_window_get_invoice (priv->iw); - uri = gncInvoiceGetAssociation (invoice); + uri = gncInvoiceGetDocLink (invoice); - ret_uri = gnc_assoc_get_uri_dialog (parent, _("Manage Document Link"), uri); + ret_uri = gnc_doclink_get_uri_dialog (parent, _("Manage Document Link"), uri); if (ret_uri && g_strcmp0 (uri, ret_uri) != 0) { - GtkWidget *assoc_link_button = gnc_invoice_window_get_assoc_link_button (priv->iw); + GtkWidget *doclink_button = + gnc_invoice_window_get_doclink_button (priv->iw); - if (assoc_link_button) + if (doclink_button) { if (g_strcmp0 (ret_uri, "") == 0) - gtk_widget_hide (GTK_WIDGET(assoc_link_button)); + gtk_widget_hide (GTK_WIDGET(doclink_button)); else { - gchar *display_uri = gnc_assoc_get_unescaped_just_uri (ret_uri); - gtk_link_button_set_uri (GTK_LINK_BUTTON(assoc_link_button), display_uri); - gtk_widget_show (GTK_WIDGET(assoc_link_button)); + gchar *display_uri = + gnc_doclink_get_unescaped_just_uri (ret_uri); + gtk_link_button_set_uri (GTK_LINK_BUTTON(doclink_button), + display_uri); + gtk_widget_show (GTK_WIDGET(doclink_button)); g_free (display_uri); } } - gncInvoiceSetAssociation (invoice, ret_uri); + gncInvoiceSetDocLink (invoice, ret_uri); has_uri = TRUE; } @@ -1390,14 +1391,14 @@ gnc_plugin_page_invoice_cmd_associate (GtkAction *action, } static void -gnc_plugin_page_invoice_cmd_associate_remove (GtkAction *action, +gnc_plugin_page_invoice_cmd_link_remove (GtkAction *action, GncPluginPageInvoice *plugin_page) { GncPluginPageInvoicePrivate *priv; GtkWindow *parent; GtkAction *uri_action; GncInvoice *invoice; - GtkWidget *assoc_link_button; + GtkWidget *doclink_button; g_return_if_fail (GNC_IS_PLUGIN_PAGE_INVOICE(plugin_page)); ENTER("(action %p, plugin_page %p)", action, plugin_page); @@ -1405,12 +1406,12 @@ gnc_plugin_page_invoice_cmd_associate_remove (GtkAction *action, parent = GTK_WINDOW(gnc_plugin_page_get_window (GNC_PLUGIN_PAGE(plugin_page))); invoice = gnc_invoice_window_get_invoice (priv->iw); - gncInvoiceSetAssociation (invoice, ""); + gncInvoiceSetDocLink (invoice, ""); - assoc_link_button = gnc_invoice_window_get_assoc_link_button (priv->iw); + doclink_button = gnc_invoice_window_get_doclink_button (priv->iw); - if (assoc_link_button) - gtk_widget_hide (GTK_WIDGET(assoc_link_button)); + if (doclink_button) + gtk_widget_hide (GTK_WIDGET(doclink_button)); // update the menu actions update_assoc_actions (GNC_PLUGIN_PAGE(plugin_page), FALSE); @@ -1419,7 +1420,7 @@ gnc_plugin_page_invoice_cmd_associate_remove (GtkAction *action, } static void -gnc_plugin_page_invoice_cmd_associate_open (GtkAction *action, +gnc_plugin_page_invoice_cmd_link_open (GtkAction *action, GncPluginPageInvoice *plugin_page) { GncPluginPageInvoicePrivate *priv; @@ -1433,10 +1434,10 @@ gnc_plugin_page_invoice_cmd_associate_open (GtkAction *action, parent = GTK_WINDOW(gnc_plugin_page_get_window (GNC_PLUGIN_PAGE(plugin_page))); invoice = gnc_invoice_window_get_invoice (priv->iw); - uri = gncInvoiceGetAssociation (invoice); + uri = gncInvoiceGetDocLink (invoice); if (uri) - gnc_assoc_open_uri (parent, uri); + gnc_doclink_open_uri (parent, uri); LEAVE(" "); } diff --git a/gnucash/gnome/gnc-plugin-page-register.c b/gnucash/gnome/gnc-plugin-page-register.c index 32cbe4524d..78ec6bfe9f 100644 --- a/gnucash/gnome/gnc-plugin-page-register.c +++ b/gnucash/gnome/gnc-plugin-page-register.c @@ -256,13 +256,13 @@ static void gnc_plugin_page_register_cmd_account_report (GtkAction* action, GncPluginPageRegister* plugin_page); static void gnc_plugin_page_register_cmd_transaction_report (GtkAction* action, GncPluginPageRegister* plugin_page); -static void gnc_plugin_page_register_cmd_associate_transaction (GtkAction *action, +static void gnc_plugin_page_register_cmd_linked_transaction (GtkAction *action, GncPluginPageRegister *plugin_page); -static void gnc_plugin_page_register_cmd_associate_transaction_open (GtkAction *action, +static void gnc_plugin_page_register_cmd_linked_transaction_open (GtkAction *action, GncPluginPageRegister *plugin_page); -static void gnc_plugin_page_register_cmd_associate_transaction_remove (GtkAction *action, +static void gnc_plugin_page_register_cmd_linked_transaction_remove (GtkAction *action, GncPluginPageRegister *plugin_page); -static void gnc_plugin_page_register_cmd_jump_associated_invoice (GtkAction* action, +static void gnc_plugin_page_register_cmd_jump_linked_invoice (GtkAction* action, GncPluginPageRegister* plugin_page); static void gnc_plugin_page_help_changed_cb (GNCSplitReg* gsr, GncPluginPageRegister* register_page); @@ -295,14 +295,14 @@ static GList* invoices_from_transaction (Transaction* trans); /* Translators: This is a menu item that opens a dialog for linking an external file or URL with the bill, invoice, transaction, or voucher or removing such an link. */ -#define ASSOCIATE_TRANSACTION_LABEL N_("_Manage Document Link...") +#define LINK_TRANSACTION_LABEL N_("_Manage Document Link...") /* Translators: This is a menu item that opens an external file or URI that may be linked to the current bill, invoice, transaction, or voucher using the operating system's default application for the file or URI mime type. */ -#define ASSOCIATE_TRANSACTION_OPEN_LABEL N_("_Open Linked Document") +#define LINK_TRANSACTION_OPEN_LABEL N_("_Open Linked Document") /* Translators: This is a menu item that will open the bill, invoice, or voucher that is posted to the current transaction if there is one. */ -#define JUMP_ASSOCIATED_INVOICE_LABEL N_("Jump to Invoice") +#define JUMP_LINKED_INVOICE_LABEL N_("Jump to Invoice") #define CUT_SPLIT_LABEL N_("Cu_t Split") #define COPY_SPLIT_LABEL N_("_Copy Split") #define PASTE_SPLIT_LABEL N_("_Paste Split") @@ -313,9 +313,9 @@ static GList* invoices_from_transaction (Transaction* trans); #define PASTE_TRANSACTION_TIP N_("Paste the transaction from the clipboard") #define DUPLICATE_TRANSACTION_TIP N_("Make a copy of the current transaction") #define DELETE_TRANSACTION_TIP N_("Delete the current transaction") -#define ASSOCIATE_TRANSACTION_TIP N_("Add, change, or unlink the document linked with the current transaction") -#define ASSOCIATE_TRANSACTION_OPEN_TIP N_("Open the linked document for the current transaction") -#define JUMP_ASSOCIATED_INVOICE_TIP N_("Jump to the linked bill, invoice, or voucher") +#define LINK_TRANSACTION_TIP N_("Add, change, or unlink the document linked with the current transaction") +#define LINK_TRANSACTION_OPEN_TIP N_("Open the linked document for the current transaction") +#define JUMP_LINKED_INVOICE_TIP N_("Jump to the linked bill, invoice, or voucher") #define CUT_SPLIT_TIP N_("Cut the selected split into clipboard") #define COPY_SPLIT_TIP N_("Copy the selected split into clipboard") #define PASTE_SPLIT_TIP N_("Paste the split from the clipboard") @@ -419,19 +419,19 @@ static GtkActionEntry gnc_plugin_page_register_actions [] = G_CALLBACK (gnc_plugin_page_register_cmd_reverse_transaction) }, { - "AssociateTransactionAction", NULL, ASSOCIATE_TRANSACTION_LABEL, NULL, - ASSOCIATE_TRANSACTION_TIP, - G_CALLBACK (gnc_plugin_page_register_cmd_associate_transaction) + "LinkTransactionAction", NULL, LINK_TRANSACTION_LABEL, NULL, + LINK_TRANSACTION_TIP, + G_CALLBACK (gnc_plugin_page_register_cmd_linked_transaction) }, { - "AssociateTransactionOpenAction", NULL, ASSOCIATE_TRANSACTION_OPEN_LABEL, NULL, - ASSOCIATE_TRANSACTION_OPEN_TIP, - G_CALLBACK (gnc_plugin_page_register_cmd_associate_transaction_open) + "LinkedTransactionOpenAction", NULL, LINK_TRANSACTION_OPEN_LABEL, NULL, + LINK_TRANSACTION_OPEN_TIP, + G_CALLBACK (gnc_plugin_page_register_cmd_linked_transaction_open) }, { - "JumpAssociatedInvoiceAction", NULL, JUMP_ASSOCIATED_INVOICE_LABEL, NULL, - JUMP_ASSOCIATED_INVOICE_TIP, - G_CALLBACK (gnc_plugin_page_register_cmd_jump_associated_invoice) + "JumpLinkedInvoiceAction", NULL, JUMP_LINKED_INVOICE_LABEL, NULL, + JUMP_LINKED_INVOICE_TIP, + G_CALLBACK (gnc_plugin_page_register_cmd_jump_linked_invoice) }, /* View menu */ @@ -614,9 +614,9 @@ static action_toolbar_labels toolbar_labels[] = { "BlankTransactionAction", N_ ("Blank") }, { "ActionsReconcileAction", N_ ("Reconcile") }, { "ActionsAutoClearAction", N_ ("Auto-clear") }, - { "AssociateTransactionAction", N_ ("Manage Document Link") }, - { "AssociateTransactionOpenAction", N_ ("Open Linked Document") }, - { "JumpAssociatedInvoiceAction", N_ ("Invoice") }, + { "LinkTransactionAction", N_ ("Manage Document Link") }, + { "LinkedTransactionOpenAction", N_ ("Open Linked Document") }, + { "JumpLinkedInvoiceAction", N_ ("Invoice") }, { NULL, NULL }, }; @@ -999,7 +999,7 @@ static const char* readonly_inactive_actions[] = "ScheduleTransactionAction", "ScrubAllAction", "ScrubCurrentAction", - "AssociateTransactionAction", + "LinkTransactionAction", NULL }; @@ -1023,9 +1023,9 @@ static const char* tran_action_labels[] = PASTE_TRANSACTION_LABEL, DUPLICATE_TRANSACTION_LABEL, DELETE_TRANSACTION_LABEL, - ASSOCIATE_TRANSACTION_LABEL, - ASSOCIATE_TRANSACTION_OPEN_LABEL, - JUMP_ASSOCIATED_INVOICE_LABEL, + LINK_TRANSACTION_LABEL, + LINK_TRANSACTION_OPEN_LABEL, + JUMP_LINKED_INVOICE_LABEL, NULL }; @@ -1037,9 +1037,9 @@ static const char* tran_action_tips[] = PASTE_TRANSACTION_TIP, DUPLICATE_TRANSACTION_TIP, DELETE_TRANSACTION_TIP, - ASSOCIATE_TRANSACTION_TIP, - ASSOCIATE_TRANSACTION_OPEN_TIP, - JUMP_ASSOCIATED_INVOICE_TIP, + LINK_TRANSACTION_TIP, + LINK_TRANSACTION_OPEN_TIP, + JUMP_LINKED_INVOICE_TIP, NULL }; @@ -1141,11 +1141,11 @@ gnc_plugin_page_register_ui_update (gpointer various, "UnvoidTransactionAction"); gtk_action_set_sensitive (GTK_ACTION (action), voided); - /* Set 'Open and Remove Associated' */ - uri = xaccTransGetAssociation (trans); + /* Set 'Open and Remove Linked Documents' */ + uri = xaccTransGetDocLink (trans); action = gnc_plugin_page_get_action (GNC_PLUGIN_PAGE(page), - "AssociateTransactionOpenAction"); + "LinkedTransactionOpenAction"); gtk_action_set_sensitive (GTK_ACTION(action), (uri ? TRUE:FALSE)); /* Set 'ExecAssociatedInvoice' @@ -1154,7 +1154,7 @@ gnc_plugin_page_register_ui_update (gpointer various, - it has splits with an invoice associated with it */ action = gnc_plugin_page_get_action (GNC_PLUGIN_PAGE (page), - "JumpAssociatedInvoiceAction"); + "JumpLinkedInvoiceAction"); invoices = invoices_from_transaction (trans); gtk_action_set_sensitive (GTK_ACTION (action), (invoices != NULL)); @@ -4547,8 +4547,8 @@ gnc_plugin_page_register_cmd_delete_transaction (GtkAction* action, } static void -gnc_plugin_page_register_cmd_associate_transaction (GtkAction *action, - GncPluginPageRegister* plugin_page) +gnc_plugin_page_register_cmd_linked_transaction (GtkAction *action, + GncPluginPageRegister* plugin_page) { GncPluginPageRegisterPrivate* priv; @@ -4563,8 +4563,8 @@ gnc_plugin_page_register_cmd_associate_transaction (GtkAction *action, } static void -gnc_plugin_page_register_cmd_associate_transaction_open (GtkAction *action, - GncPluginPageRegister* plugin_page) +gnc_plugin_page_register_cmd_linked_transaction_open (GtkAction *action, + GncPluginPageRegister* plugin_page) { GncPluginPageRegisterPrivate* priv; @@ -4578,8 +4578,8 @@ gnc_plugin_page_register_cmd_associate_transaction_open (GtkAction *action, } static void -gnc_plugin_page_register_cmd_associate_transaction_remove (GtkAction *action, - GncPluginPageRegister* plugin_page) +gnc_plugin_page_register_cmd_linked_transaction_remove (GtkAction *action, + GncPluginPageRegister* plugin_page) { GncPluginPageRegisterPrivate* priv; @@ -4628,8 +4628,8 @@ GList* invoices_from_transaction (Transaction* trans) } static void -gnc_plugin_page_register_cmd_jump_associated_invoice (GtkAction* action, - GncPluginPageRegister* plugin_page) +gnc_plugin_page_register_cmd_jump_linked_invoice (GtkAction* action, + GncPluginPageRegister* plugin_page) { GncPluginPageRegisterPrivate* priv; SplitRegister* reg; @@ -4678,7 +4678,7 @@ gnc_plugin_page_register_cmd_jump_associated_invoice (GtkAction* action, details = g_list_reverse (details); choice = gnc_choose_radio_option_dialog (GNC_PLUGIN_PAGE (plugin_page)->window, _("Select document"), - _("Several documents are associated with this transaction. \ + _("Several documents are linked with this transaction. \ Please choose one:"), _("Select"), 0, details); if (choice >= 0) invoice = (GncInvoice *)(g_list_nth (invoices, choice))->data; diff --git a/gnucash/gnome/gnc-plugin-page-register2.c b/gnucash/gnome/gnc-plugin-page-register2.c index 50fcd10020..48853d0f0c 100644 --- a/gnucash/gnome/gnc-plugin-page-register2.c +++ b/gnucash/gnome/gnc-plugin-page-register2.c @@ -408,7 +408,7 @@ static GtkToggleActionEntry toggle_entries[] = { { "ViewStyleDoubleLineAction", NULL, N_("_Double Line"), NULL, - N_("Show a second line with \"Action\", \"Notes\", and \"File Association\" for each transaction."), + N_("Show a second line with \"Action\", \"Notes\", and \"Linked Document\" for each transaction."), G_CALLBACK (gnc_plugin_page_register2_cmd_style_double_line), FALSE }, diff --git a/gnucash/gnome/gnc-split-reg.c b/gnucash/gnome/gnc-split-reg.c index ed0d7cd5da..662f924fbd 100644 --- a/gnucash/gnome/gnc-split-reg.c +++ b/gnucash/gnome/gnc-split-reg.c @@ -37,8 +37,8 @@ #include "qof.h" #include "SX-book.h" #include "dialog-account.h" -#include "dialog-assoc.h" -#include "dialog-assoc-utils.h" +#include "dialog-doclink.h" +#include "dialog-doclink-utils.h" #include "dialog-sx-editor.h" #include "dialog-sx-from-trans.h" #include "gnc-component-manager.h" @@ -1292,12 +1292,15 @@ gsr_default_associate_handler (GNCSplitReg *gsr) return; // fix an earlier error when storing relative paths before version 3.5 - uri = gnc_assoc_convert_trans_associate_uri (trans, gsr->read_only); + uri = gnc_doclink_convert_trans_link_uri (trans, gsr->read_only); - ret_uri = gnc_assoc_get_uri_dialog (GTK_WINDOW(gsr->window), _("Change a Transaction Association"), uri); + ret_uri = + gnc_doclink_get_uri_dialog (GTK_WINDOW (gsr->window), + _("Change a Transaction Linked Document"), + uri); if (ret_uri && g_strcmp0 (uri, ret_uri) != 0) - xaccTransSetAssociation (trans, ret_uri); + xaccTransSetDocLink (trans, ret_uri); g_free (ret_uri); g_free (uri); @@ -1327,9 +1330,9 @@ gsr_default_associate_open_handler (GNCSplitReg *gsr) return; // fix an earlier error when storing relative paths before version 3.5 - uri = gnc_assoc_convert_trans_associate_uri (trans, gsr->read_only); + uri = gnc_doclink_convert_trans_link_uri (trans, gsr->read_only); - gnc_assoc_open_uri (GTK_WINDOW (gsr->window), uri); + gnc_doclink_open_uri (GTK_WINDOW (gsr->window), uri); g_free (uri); } @@ -1358,7 +1361,7 @@ gsr_default_associate_remove_handler (GNCSplitReg *gsr) if (is_trans_readonly_and_warn (GTK_WINDOW(gsr->window), trans)) return; - xaccTransSetAssociation (trans, ""); + xaccTransSetDocLink (trans, ""); } static void @@ -1378,10 +1381,10 @@ gsr_default_associate_from_sheet_handler (GNCSplitReg *gsr) trans = xaccSplitGetParent (split); // fix an earlier error when storing relative paths before version 3.5 - uri = gnc_assoc_convert_trans_associate_uri (trans, gsr->read_only); + uri = gnc_doclink_convert_trans_link_uri (trans, gsr->read_only); if (uri) - gnc_assoc_open_uri (GTK_WINDOW (gsr->window), uri); + gnc_doclink_open_uri (GTK_WINDOW (gsr->window), uri); g_free (uri); } diff --git a/gnucash/gnome/top-level.c b/gnucash/gnome/top-level.c index eda1eee715..6f91be1f02 100644 --- a/gnucash/gnome/top-level.c +++ b/gnucash/gnome/top-level.c @@ -33,7 +33,7 @@ #include "business-urls.h" #include "combocell.h" #include "dialog-account.h" -#include "dialog-assoc.h" +#include "dialog-doclink.h" #include "dialog-commodity.h" #include "dialog-invoice.h" #include "dialog-preferences.h" @@ -167,13 +167,16 @@ gnc_html_register_url_cb (const char *location, const char *label, } } - else if (strncmp ("trans-association-guid=", location, strlen ("trans-association-guid=")) == 0) + else if (strncmp ("trans-doclink-guid=", location, + strlen ("trans-doclink-guid=")) == 0) { - if (!validate_type("trans-association-guid=", location, GNC_ID_TRANS, result, &guid, &entity)) + if (!validate_type("trans-doclink-guid=", location, GNC_ID_TRANS, + result, &guid, &entity)) return FALSE; trans = (Transaction *) entity; - gnc_assoc_open_uri (gnc_ui_get_gtk_window (GTK_WIDGET(result->parent)), xaccTransGetAssociation (trans)); + gnc_doclink_open_uri (gnc_ui_get_gtk_window (GTK_WIDGET (result->parent)), + xaccTransGetDocLink (trans)); return TRUE; } diff --git a/gnucash/gschemas/org.gnucash.dialogs.gschema.xml.in b/gnucash/gschemas/org.gnucash.dialogs.gschema.xml.in index eec0640f8d..883e1806f0 100644 --- a/gnucash/gschemas/org.gnucash.dialogs.gschema.xml.in +++ b/gnucash/gschemas/org.gnucash.dialogs.gschema.xml.in @@ -20,8 +20,8 @@ - - + + @@ -238,7 +238,7 @@ - + (-1,-1,-1,-1) Last window position and size @@ -248,7 +248,7 @@ - + (-1,-1,-1,-1) Last window position and size diff --git a/gnucash/gschemas/org.gnucash.gschema.xml.in b/gnucash/gschemas/org.gnucash.gschema.xml.in index fd3461e160..cf3538bb79 100644 --- a/gnucash/gschemas/org.gnucash.gschema.xml.in +++ b/gnucash/gschemas/org.gnucash.gschema.xml.in @@ -20,7 +20,7 @@ Character to use as separator between account names This setting determines the character that will be used between components of an account name. Possible values are any single non-alphanumeric unicode character, or any of the following strings: "colon", "slash", "backslash", "dash" and "period". - + '' Transaction Linked Files head path This is the path head for the Transaction Linked Files with relative paths diff --git a/gnucash/gtkbuilder/CMakeLists.txt b/gnucash/gtkbuilder/CMakeLists.txt index 38d9a39b59..348b7a3b6f 100644 --- a/gnucash/gtkbuilder/CMakeLists.txt +++ b/gnucash/gtkbuilder/CMakeLists.txt @@ -13,7 +13,7 @@ set (gtkbuilder_SOURCES business-prefs.glade dialog-account-picker.glade dialog-account.glade - dialog-assoc.glade + dialog-doclink.glade dialog-bi-import-gui.glade dialog-billterms.glade dialog-book-close.glade diff --git a/gnucash/gtkbuilder/dialog-assoc.glade b/gnucash/gtkbuilder/dialog-doclink.glade similarity index 99% rename from gnucash/gtkbuilder/dialog-assoc.glade rename to gnucash/gtkbuilder/dialog-doclink.glade index d2899d596b..17a3aa9464 100644 --- a/gnucash/gtkbuilder/dialog-assoc.glade +++ b/gnucash/gtkbuilder/dialog-doclink.glade @@ -2,7 +2,7 @@ - + False 600 dialog @@ -489,7 +489,7 @@ - + False @@ -652,7 +652,7 @@ - + True Linked Document 0.5 diff --git a/gnucash/gtkbuilder/dialog-invoice.glade b/gnucash/gtkbuilder/dialog-invoice.glade index 541b101680..af90fb7ef1 100644 --- a/gnucash/gtkbuilder/dialog-invoice.glade +++ b/gnucash/gtkbuilder/dialog-invoice.glade @@ -411,11 +411,11 @@ - + True False - + Open Document Link True True diff --git a/gnucash/gtkbuilder/gnc-plugin-page-register.glade b/gnucash/gtkbuilder/gnc-plugin-page-register.glade index 35535e9bb6..ec35e2a562 100644 --- a/gnucash/gtkbuilder/gnc-plugin-page-register.glade +++ b/gnucash/gtkbuilder/gnc-plugin-page-register.glade @@ -1081,7 +1081,7 @@ If 0, all previous days included - + True True False @@ -1096,7 +1096,7 @@ If 0, all previous days included - + True False end diff --git a/gnucash/register/ledger-core/split-register-control.c b/gnucash/register/ledger-core/split-register-control.c index 00cc42999c..6bb96f9d3f 100644 --- a/gnucash/register/ledger-core/split-register-control.c +++ b/gnucash/register/ledger-core/split-register-control.c @@ -888,9 +888,9 @@ gnc_split_register_auto_completion (SplitRegister *reg, g_assert(pending_trans == trans); gnc_copy_trans_onto_trans (auto_trans, trans, FALSE, FALSE); - /* if there is an association, lets clear it */ - if (xaccTransGetAssociation (auto_trans) != NULL) - xaccTransSetAssociation (trans, ""); + /* if there is an doclink, let's clear it */ + if (xaccTransGetDocLink (auto_trans) != NULL) + xaccTransSetDocLink (trans, ""); blank_split = NULL; if (gnc_split_register_get_default_account (reg) != NULL) diff --git a/gnucash/register/ledger-core/split-register-copy-ops.c b/gnucash/register/ledger-core/split-register-copy-ops.c index 22c36f6bb7..1461a9fc64 100644 --- a/gnucash/register/ledger-core/split-register-copy-ops.c +++ b/gnucash/register/ledger-core/split-register-copy-ops.c @@ -229,10 +229,10 @@ const char *gnc_float_txn_get_notes (const FloatingTxn *ft) return ft->m_notes; } -const char *gnc_float_txn_get_association (const FloatingTxn *ft) +const char *gnc_float_txn_get_doclink (const FloatingTxn *ft) { g_return_val_if_fail (ft, NULL); - return ft->m_association; + return ft->m_doclink; } SplitList *gnc_float_txn_get_splits (const FloatingTxn *ft) @@ -309,10 +309,10 @@ void gnc_float_txn_set_notes (FloatingTxn *ft, const char *notes) ft->m_notes = notes; }; -void gnc_float_txn_set_association (FloatingTxn *ft, const char *association) +void gnc_float_txn_set_doclink (FloatingTxn *ft, const char *doclink) { g_return_if_fail (ft); - ft->m_association = association; + ft->m_doclink = doclink; }; void gnc_float_txn_set_splits (FloatingTxn *ft, SplitList *splits) @@ -346,7 +346,7 @@ FloatingTxn *gnc_txn_to_float_txn (Transaction *txn, gboolean use_cut_semantics) } ft->m_description = xaccTransGetDescription (txn); ft->m_notes = xaccTransGetNotes (txn); - ft->m_association = xaccTransGetAssociation (txn); + ft->m_doclink = xaccTransGetDocLink (txn); for (iter = xaccTransGetSplitList (txn); iter ; iter = iter->next) { @@ -388,8 +388,8 @@ void gnc_float_txn_to_txn_swap_accounts (const FloatingTxn *ft, Transaction *txn xaccTransSetNum (txn, ft->m_num); if (ft->m_notes) xaccTransSetNotes (txn, ft->m_notes); - if (ft->m_association) - xaccTransSetAssociation (txn, ft->m_association); + if (ft->m_doclink) + xaccTransSetDocLink (txn, ft->m_doclink); if (ft->m_date_posted) xaccTransSetDatePostedSecs (txn, ft->m_date_posted); diff --git a/gnucash/register/ledger-core/split-register-copy-ops.h b/gnucash/register/ledger-core/split-register-copy-ops.h index ea1e340b2d..bbfa694f0d 100644 --- a/gnucash/register/ledger-core/split-register-copy-ops.h +++ b/gnucash/register/ledger-core/split-register-copy-ops.h @@ -55,7 +55,7 @@ typedef struct const char *m_num; const char *m_description; const char *m_notes; - const char *m_association; + const char *m_doclink; SplitList *m_splits; } FloatingTxn; @@ -92,7 +92,7 @@ time64 gnc_float_txn_get_date_posted (const FloatingTxn *ft); const char *gnc_float_txn_get_num (const FloatingTxn *ft); const char *gnc_float_txn_get_description (const FloatingTxn *ft); const char *gnc_float_txn_get_notes (const FloatingTxn *ft); -const char *gnc_float_txn_get_association (const FloatingTxn *ft); +const char *gnc_float_txn_get_doclink (const FloatingTxn *ft); SplitList *gnc_float_txn_get_splits (const FloatingTxn *ft); FloatingSplit *gnc_float_txn_get_float_split (const FloatingTxn *ft, guint index); @@ -106,7 +106,7 @@ void gnc_float_txn_set_date_posted (FloatingTxn *ft, time64 date_posted); void gnc_float_txn_set_num (FloatingTxn *ft, const char *num); void gnc_float_txn_set_description (FloatingTxn *ft, const char *description); void gnc_float_txn_set_notes (FloatingTxn *ft, const char *notes); -void gnc_float_txn_set_association (FloatingTxn *ft, const char *association); +void gnc_float_txn_set_doclink (FloatingTxn *ft, const char *doclink); void gnc_float_txn_set_splits (FloatingTxn *ft, SplitList *splits); void gnc_float_txn_append_float_split (FloatingTxn *ft, FloatingSplit *fs); diff --git a/gnucash/register/ledger-core/split-register-load.c b/gnucash/register/ledger-core/split-register-load.c index bdc920a7be..bdd0c14a13 100644 --- a/gnucash/register/ledger-core/split-register-load.c +++ b/gnucash/register/ledger-core/split-register-load.c @@ -34,7 +34,7 @@ #include "gnc-gui-query.h" #include "numcell.h" #include "quickfillcell.h" -#include "assoccell.h" +#include "doclinkcell.h" #include "recncell.h" #include "split-register.h" #include "split-register-p.h" @@ -72,22 +72,22 @@ gnc_split_register_load_recn_cells (SplitRegister* reg) static void gnc_split_register_load_associate_cells (SplitRegister* reg) { - AssocCell *cell; + Doclinkcell *cell; const char * s; if (!reg) return; - cell = (AssocCell *) + cell = (Doclinkcell *) gnc_table_layout_get_cell (reg->table->layout, ASSOC_CELL); if (!cell) return; /* FIXME: These should get moved to an i18n function */ - s = gnc_get_association_valid_flags (); - gnc_assoc_cell_set_valid_flags (cell, s, ' '); - gnc_assoc_cell_set_flag_order (cell, gnc_get_association_flag_order ()); - gnc_assoc_cell_set_string_getter (cell, gnc_get_association_str); - gnc_assoc_cell_set_read_only (cell, TRUE); + s = gnc_get_doclink_valid_flags (); + gnc_doclink_cell_set_valid_flags (cell, s, ' '); + gnc_doclink_cell_set_flag_order (cell, gnc_get_doclink_flag_order ()); + gnc_doclink_cell_set_string_getter (cell, gnc_get_doclink_str); + gnc_doclink_cell_set_read_only (cell, TRUE); } static void @@ -416,8 +416,8 @@ gnc_split_register_load (SplitRegister* reg, GList* slist, ((PriceCell*) gnc_table_layout_get_cell (table->layout, CRED_CELL), gnc_account_print_info (default_account, FALSE)); - gnc_assoc_cell_set_use_glyphs - ((AssocCell *) gnc_table_layout_get_cell (table->layout, ASSOC_CELL)); + gnc_doclink_cell_set_use_glyphs + ((Doclinkcell *) gnc_table_layout_get_cell (table->layout, ASSOC_CELL)); /* make sure we have a blank split */ if (blank_split == NULL) diff --git a/gnucash/register/ledger-core/split-register-model.c b/gnucash/register/ledger-core/split-register-model.c index 1d3d5eba3b..65f2a3912b 100644 --- a/gnucash/register/ledger-core/split-register-model.c +++ b/gnucash/register/ledger-core/split-register-model.c @@ -27,14 +27,14 @@ #include "datecell.h" #include "dialog-utils.h" -#include "dialog-assoc-utils.h" +#include "dialog-doclink-utils.h" #include "gnc-engine.h" #include "gnc-prefs.h" #include "gnc-ui.h" #include "gnc-uri-utils.h" #include "gnc-filepath-utils.h" #include "gnc-warnings.h" -#include "assoccell.h" +#include "doclinkcell.h" #include "pricecell.h" #include "recncell.h" #include "split-register.h" @@ -557,11 +557,11 @@ gnc_split_register_get_associate_tooltip (VirtualLocation virt_loc, return NULL; // get the existing uri - uri = xaccTransGetAssociation (trans); + uri = xaccTransGetDocLink (trans); // Check for uri is empty or NULL if (uri && *uri) - return gnc_assoc_get_unescaped_just_uri (uri); + return gnc_doclink_get_unescaped_just_uri (uri); else return NULL; } @@ -804,11 +804,11 @@ gnc_split_register_get_associate_entry (VirtualLocation virt_loc, { SplitRegister* reg = user_data; Transaction* trans; - char associate; + char link_flag; const char* uri; - AssocCell *cell; + Doclinkcell *cell; - cell = (AssocCell *)gnc_table_layout_get_cell (reg->table->layout, ASSOC_CELL); + cell = (Doclinkcell *)gnc_table_layout_get_cell (reg->table->layout, ASSOC_CELL); if (!cell) return NULL; @@ -818,7 +818,7 @@ gnc_split_register_get_associate_entry (VirtualLocation virt_loc, return NULL; // get the existing uri - uri = xaccTransGetAssociation (trans); + uri = xaccTransGetDocLink (trans); // Check for uri is empty or NULL if (uri && *uri) @@ -826,25 +826,25 @@ gnc_split_register_get_associate_entry (VirtualLocation virt_loc, gchar* scheme = gnc_uri_get_scheme (uri); if (!scheme || g_strcmp0 (scheme, "file") == 0) - associate = FASSOC; + link_flag = FLINK; else - associate = WASSOC; + link_flag = WLINK; g_free (scheme); } else - associate = ' '; + link_flag = ' '; - if (gnc_assoc_get_use_glyphs (cell)) - return gnc_assoc_get_glyph_from_flag (associate); + if (gnc_doclink_get_use_glyphs (cell)) + return gnc_doclink_get_glyph_from_flag (link_flag); if (translate) - return gnc_get_association_str (associate); + return gnc_get_doclink_str (link_flag); else { static char s[2]; - s[0] = associate; + s[0] = link_flag; s[1] = '\0'; return s; } @@ -864,13 +864,13 @@ static char gnc_split_register_get_associate_value (SplitRegister* reg, VirtualLocation virt_loc) { - AssocCell *cell; + Doclinkcell *cell; - cell = (AssocCell *)gnc_table_layout_get_cell (reg->table->layout, ASSOC_CELL); + cell = (Doclinkcell *)gnc_table_layout_get_cell (reg->table->layout, ASSOC_CELL); if (!cell) return '\0'; - return gnc_assoc_cell_get_flag (cell); + return gnc_doclink_cell_get_flag (cell); } #endif diff --git a/gnucash/register/ledger-core/split-register.c b/gnucash/register/ledger-core/split-register.c index 912d88106c..37c6dc10fa 100644 --- a/gnucash/register/ledger-core/split-register.c +++ b/gnucash/register/ledger-core/split-register.c @@ -602,7 +602,7 @@ gnc_split_register_duplicate_current (SplitRegister* reg) if (!gnc_dup_trans_dialog (gnc_split_register_get_parent (reg), NULL, TRUE, &date, in_num, &out_num, in_tnum, &out_tnum, - xaccTransGetAssociation (trans), &out_tassoc)) + xaccTransGetDocLink (trans), &out_tassoc)) { gnc_resume_gui_refresh (); LEAVE ("dup cancelled"); @@ -656,7 +656,7 @@ gnc_split_register_duplicate_current (SplitRegister* reg) /* clear the associated entry if returned value NULL */ if (out_tassoc == NULL) - xaccTransSetAssociation (new_trans, ""); + xaccTransSetDocLink (new_trans, ""); else g_free (out_tassoc); diff --git a/gnucash/register/ledger-core/test/utest-split-register-copy-ops.c b/gnucash/register/ledger-core/test/utest-split-register-copy-ops.c index 95db38d13d..9723f973de 100644 --- a/gnucash/register/ledger-core/test/utest-split-register-copy-ops.c +++ b/gnucash/register/ledger-core/test/utest-split-register-copy-ops.c @@ -141,7 +141,7 @@ flsetup( FlFixture *fixture, gconstpointer pData ) fixture->ft.m_num = CACHE_INSERT ("FtNum"); fixture->ft.m_description = CACHE_INSERT ("FtDescription"); fixture->ft.m_notes = CACHE_INSERT ("FtNotes"); - fixture->ft.m_association = CACHE_INSERT ("FtAssociation"); + fixture->ft.m_doclink = CACHE_INSERT ("FtDocLink"); fixture->fs1.m_split = NULL; fixture->fs1.m_account = fixture->acc1; @@ -340,8 +340,8 @@ void gnc_float_txn_set_description (FloatingTxn *ft, const char *description)// void gnc_float_txn_set_notes (FloatingTxn *ft, const char *notes)// Local: 0:0:0 */ // Not Used -/* gnc_float_txn_set_association - trivial setter, skipping -void gnc_float_txn_set_association (FloatingTxn *ft, const char *association)// Local: 0:0:0 +/* gnc_float_txn_set_doclink - trivial setter, skipping +void gnc_float_txn_set_doclink (FloatingTxn *ft, const char *doclink)// Local: 0:0:0 */ // Not Used /* gnc_float_txn_set_splits - trivial setter, skipping @@ -376,7 +376,7 @@ test_gnc_txn_to_float_txn (Fixture *fixture, gconstpointer pData) g_assert_null (ft->m_num); g_assert_cmpstr (ft->m_description, ==, xaccTransGetDescription (fixture->txn)); g_assert_cmpstr (ft->m_notes, ==, xaccTransGetNotes (fixture->txn)); - g_assert_cmpstr (ft->m_association, ==, xaccTransGetAssociation (fixture->txn)); + g_assert_cmpstr (ft->m_doclink, ==, xaccTransGetDocLink (fixture->txn)); /* Check split fields of first split */ siter = sl; @@ -435,7 +435,7 @@ test_gnc_txn_to_float_txn_cut_semantics (Fixture *fixture, gconstpointer pData) g_assert_cmpstr (ft->m_num, ==, xaccTransGetNum (fixture->txn)); g_assert_cmpstr (ft->m_description, ==, xaccTransGetDescription (fixture->txn)); g_assert_cmpstr (ft->m_notes, ==, xaccTransGetNotes (fixture->txn)); - g_assert_cmpstr (ft->m_association, ==, xaccTransGetAssociation (fixture->txn)); + g_assert_cmpstr (ft->m_doclink, ==, xaccTransGetDocLink (fixture->txn)); /* Check split fields of first split */ siter = sl; @@ -557,7 +557,7 @@ test_gnc_float_txn_to_txn_swap_accounts (FlFixture *fixture, gconstpointer pData g_assert_cmpstr (fixture->ft.m_description, ==, "FtDescription"); g_assert_cmpstr (fixture->ft.m_num, ==, "FtNum"); g_assert_cmpstr (fixture->ft.m_notes, ==, "FtNotes"); - g_assert_cmpstr (fixture->ft.m_association, ==, "FtAssociation"); + g_assert_cmpstr (fixture->ft.m_doclink, ==, "FtDocLink"); g_assert_cmpint (fixture->ft.m_date_posted, ==, xaccTransGetDate (txn)); /* Next compare values for first split */ diff --git a/gnucash/register/register-core/CMakeLists.txt b/gnucash/register/register-core/CMakeLists.txt index c593b84d82..7ec7f63450 100644 --- a/gnucash/register/register-core/CMakeLists.txt +++ b/gnucash/register/register-core/CMakeLists.txt @@ -1,5 +1,5 @@ set (register_core_SOURCES - assoccell.c + doclinkcell.c basiccell.c cell-factory.c cellblock.c @@ -19,7 +19,7 @@ set (register_core_SOURCES set (register_core_HEADERS - assoccell.h + doclinkcell.h basiccell.h cell-factory.h cellblock.h diff --git a/gnucash/register/register-core/assoccell.c b/gnucash/register/register-core/doclinkcell.c similarity index 75% rename from gnucash/register/register-core/assoccell.c rename to gnucash/register/register-core/doclinkcell.c index 1fb212afb4..b1cb0cc2d1 100644 --- a/gnucash/register/register-core/assoccell.c +++ b/gnucash/register/register-core/doclinkcell.c @@ -1,5 +1,5 @@ /********************************************************************\ - * assoccell.c -- association checkbox cell * + * doclinkcell.c -- Document Link checkbox cell * * * * This program is free software; you can redistribute it and/or * * modify it under the terms of the GNU General Public License as * @@ -22,7 +22,7 @@ /* * FILE: - * assoccell.c + * doclinkcell.c * * FUNCTION: * Implements a mouse-click cell that allows a series @@ -44,19 +44,19 @@ #include "basiccell.h" #include "gnc-engine.h" -#include "assoccell.h" +#include "doclinkcell.h" #include "gnc-ui-util.h" -static void gnc_assoc_cell_set_value (BasicCell *_cell, const char *value); +static void gnc_doclink_cell_set_value (BasicCell *_cell, const char *value); const char * -gnc_assoc_get_glyph_from_flag (char association_flag) +gnc_doclink_get_glyph_from_flag (char link_flag) { - switch (association_flag) + switch (link_flag) { - case WASSOC: + case WLINK: return GLYPH_LINK; - case FASSOC: + case FLINK: return GLYPH_PAPERCLIP; default: return " "; @@ -64,29 +64,29 @@ gnc_assoc_get_glyph_from_flag (char association_flag) } static const char -gnc_assoc_get_flag_from_glyph (const char *glyph) +gnc_doclink_get_flag_from_glyph (const char *glyph) { if (strcmp (glyph, GLYPH_LINK) == 0) - return WASSOC; + return WLINK; else if (strcmp (glyph, GLYPH_PAPERCLIP) == 0) - return FASSOC; + return FLINK; else return ' '; } gboolean -gnc_assoc_get_use_glyphs (AssocCell *cell) +gnc_doclink_get_use_glyphs (Doclinkcell *cell) { return cell->use_glyphs; } static const char * -gnc_assoc_cell_get_string (AssocCell *cell, char flag) +gnc_doclink_cell_get_string (Doclinkcell *cell, char flag) { static char str[2] = { 0, 0 }; if (cell->use_glyphs) - return gnc_assoc_get_glyph_from_flag (flag); + return gnc_doclink_get_glyph_from_flag (flag); if (cell->get_string != NULL) return (cell->get_string)(flag); @@ -97,12 +97,12 @@ gnc_assoc_cell_get_string (AssocCell *cell, char flag) } static gboolean -gnc_assoc_cell_enter (BasicCell *_cell, +gnc_doclink_cell_enter (BasicCell *_cell, int *cursor_position, int *start_selection, int *end_selection) { - AssocCell *cell = (AssocCell *) _cell; + Doclinkcell *cell = (Doclinkcell *) _cell; char * this_flag; if (cell->confirm_cb && @@ -133,17 +133,17 @@ gnc_assoc_cell_enter (BasicCell *_cell, } /* And set the display */ - gnc_assoc_cell_set_flag (cell, cell->flag); + gnc_doclink_cell_set_flag (cell, cell->flag); return FALSE; } static void -gnc_assoc_cell_init (AssocCell *cell) +gnc_doclink_cell_init (Doclinkcell *cell) { gnc_basic_cell_init (&cell->cell); - gnc_assoc_cell_set_flag (cell, '\0'); + gnc_doclink_cell_set_flag (cell, '\0'); cell->confirm_cb = NULL; cell->get_string = NULL; cell->valid_flags = ""; @@ -151,27 +151,27 @@ gnc_assoc_cell_init (AssocCell *cell) cell->read_only = FALSE; cell->use_glyphs = FALSE; - cell->cell.enter_cell = gnc_assoc_cell_enter; - cell->cell.set_value = gnc_assoc_cell_set_value; + cell->cell.enter_cell = gnc_doclink_cell_enter; + cell->cell.set_value = gnc_doclink_cell_set_value; } BasicCell * -gnc_assoc_cell_new (void) +gnc_doclink_cell_new (void) { - AssocCell * cell; + Doclinkcell * cell; - cell = g_new0 (AssocCell, 1); + cell = g_new0 (Doclinkcell, 1); - gnc_assoc_cell_init (cell); + gnc_doclink_cell_init (cell); return &cell->cell; } /* assumes we are given the untranslated form */ static void -gnc_assoc_cell_set_value (BasicCell *_cell, const char *value) +gnc_doclink_cell_set_value (BasicCell *_cell, const char *value) { - AssocCell *cell = (AssocCell *) _cell; + Doclinkcell *cell = (Doclinkcell *) _cell; char flag; if (!value || *value == '\0') @@ -182,31 +182,31 @@ gnc_assoc_cell_set_value (BasicCell *_cell, const char *value) } if (cell->use_glyphs) - flag = gnc_assoc_get_flag_from_glyph (value); + flag = gnc_doclink_get_flag_from_glyph (value); else { flag = cell->default_flag; if (strchr (cell->valid_flags, *value) != NULL) flag = *value; } - gnc_assoc_cell_set_flag (cell, flag); + gnc_doclink_cell_set_flag (cell, flag); } void -gnc_assoc_cell_set_flag (AssocCell *cell, char flag) +gnc_doclink_cell_set_flag (Doclinkcell *cell, char flag) { const char *string; g_return_if_fail (cell != NULL); cell->flag = flag; - string = gnc_assoc_cell_get_string (cell, flag); + string = gnc_doclink_cell_get_string (cell, flag); gnc_basic_cell_set_value_internal (&cell->cell, string); } char -gnc_assoc_cell_get_flag (AssocCell *cell) +gnc_doclink_cell_get_flag (Doclinkcell *cell) { g_return_val_if_fail (cell != NULL, '\0'); @@ -214,8 +214,8 @@ gnc_assoc_cell_get_flag (AssocCell *cell) } void -gnc_assoc_cell_set_string_getter (AssocCell *cell, - AssocCellStringGetter get_string) +gnc_doclink_cell_set_string_getter (Doclinkcell *cell, + DoclinkcellStringGetter get_string) { g_return_if_fail (cell != NULL); @@ -223,7 +223,7 @@ gnc_assoc_cell_set_string_getter (AssocCell *cell, } void -gnc_assoc_cell_set_confirm_cb (AssocCell *cell, AssocCellConfirm confirm_cb, +gnc_doclink_cell_set_confirm_cb (Doclinkcell *cell, DoclinkcellConfirm confirm_cb, gpointer data) { g_return_if_fail (cell != NULL); @@ -233,7 +233,7 @@ gnc_assoc_cell_set_confirm_cb (AssocCell *cell, AssocCellConfirm confirm_cb, } void -gnc_assoc_cell_set_valid_flags (AssocCell *cell, const char *flags, +gnc_doclink_cell_set_valid_flags (Doclinkcell *cell, const char *flags, char default_flag) { g_return_if_fail (cell != NULL); @@ -244,7 +244,7 @@ gnc_assoc_cell_set_valid_flags (AssocCell *cell, const char *flags, } void -gnc_assoc_cell_set_flag_order (AssocCell *cell, const char *flags) +gnc_doclink_cell_set_flag_order (Doclinkcell *cell, const char *flags) { g_return_if_fail (cell != NULL); g_return_if_fail (flags != NULL); @@ -253,7 +253,7 @@ gnc_assoc_cell_set_flag_order (AssocCell *cell, const char *flags) } void -gnc_assoc_cell_set_read_only (AssocCell *cell, gboolean read_only) +gnc_doclink_cell_set_read_only (Doclinkcell *cell, gboolean read_only) { g_return_if_fail (cell != NULL); @@ -261,7 +261,7 @@ gnc_assoc_cell_set_read_only (AssocCell *cell, gboolean read_only) } void -gnc_assoc_cell_set_use_glyphs (AssocCell *cell) +gnc_doclink_cell_set_use_glyphs (Doclinkcell *cell) { #ifdef MAC_INTEGRATION cell->use_glyphs = FALSE; diff --git a/gnucash/register/register-core/assoccell.h b/gnucash/register/register-core/doclinkcell.h similarity index 66% rename from gnucash/register/register-core/assoccell.h rename to gnucash/register/register-core/doclinkcell.h index 519d27c635..897d858631 100644 --- a/gnucash/register/register-core/assoccell.h +++ b/gnucash/register/register-core/doclinkcell.h @@ -1,5 +1,5 @@ /********************************************************************\ - * assoccell.h -- association checkbox cell * + * doclinkcell.h -- Document link checkbox cell * * * * This program is free software; you can redistribute it and/or * * modify it under the terms of the GNU General Public License as * @@ -22,9 +22,9 @@ /** @addtogroup Cell Cell * @{ - * @file assoccell.h - * @struct AssocCell - * @brief The AssocCell object implements a cell handler + * @file doclinkcell.h + * @struct Doclinkcell + * @brief The Doclinkcell object implements a cell handler * that will cycle through a series of single-character * values when clicked upon by the mouse and will return a glyph * if font can show it. @@ -36,8 +36,8 @@ * Copyright (c) 2020 Robert Fewell */ -#ifndef ASSOC_CELL_H -#define ASSOC_CELL_H +#ifndef DOC_LINK_CELL_H +#define DOC_LINK_CELL_H #include @@ -46,8 +46,8 @@ #define GLYPH_PAPERCLIP "\360\237\223\216" // Codepoint U+1F4CE #define GLYPH_LINK "\360\237\224\227" // Codepoint U+1F517 -typedef const char * (*AssocCellStringGetter) (char flag); -typedef gboolean (*AssocCellConfirm) (char old_flag, gpointer data); +typedef const char * (*DoclinkcellStringGetter) (char flag); +typedef gboolean (*DoclinkcellConfirm) (char old_flag, gpointer data); typedef struct { @@ -59,42 +59,42 @@ typedef struct char * flag_order; /** Automatic flag selection order */ char default_flag; /** Default flag for unknown user input */ - AssocCellStringGetter get_string; - AssocCellConfirm confirm_cb; + DoclinkcellStringGetter get_string; + DoclinkcellConfirm confirm_cb; gpointer confirm_data; gboolean read_only; gboolean use_glyphs; -} AssocCell; +} Doclinkcell; -BasicCell * gnc_assoc_cell_new (void); +BasicCell * gnc_doclink_cell_new (void); -void gnc_assoc_cell_set_flag (AssocCell *cell, char flag); -char gnc_assoc_cell_get_flag (AssocCell *cell); +void gnc_doclink_cell_set_flag (Doclinkcell *cell, char flag); +char gnc_doclink_cell_get_flag (Doclinkcell *cell); -void gnc_assoc_cell_set_confirm_cb (AssocCell *cell, - AssocCellConfirm confirm_cb, +void gnc_doclink_cell_set_confirm_cb (Doclinkcell *cell, + DoclinkcellConfirm confirm_cb, gpointer data); -void gnc_assoc_cell_set_string_getter (AssocCell *cell, - AssocCellStringGetter getter); +void gnc_doclink_cell_set_string_getter (Doclinkcell *cell, + DoclinkcellStringGetter getter); /** note that @param flags is copied into the RecnCell directly, but * remains the "property" of the caller. The caller must maintain the * chars pointer, and the caller must setup a mechanism to 'free' the - * chars pointer. The rationale is that you may have many AssocCell + * chars pointer. The rationale is that you may have many Doclinkcell * objects that use the same set of flags. */ -void gnc_assoc_cell_set_valid_flags (AssocCell *cell, const char *flags, +void gnc_doclink_cell_set_valid_flags (Doclinkcell *cell, const char *flags, char default_flag); -void gnc_assoc_cell_set_flag_order (AssocCell *cell, const char *flags); +void gnc_doclink_cell_set_flag_order (Doclinkcell *cell, const char *flags); -void gnc_assoc_cell_set_read_only (AssocCell *cell, gboolean read_only); +void gnc_doclink_cell_set_read_only (Doclinkcell *cell, gboolean read_only); -void gnc_assoc_cell_set_use_glyphs (AssocCell *cell); +void gnc_doclink_cell_set_use_glyphs (Doclinkcell *cell); -gboolean gnc_assoc_get_use_glyphs (AssocCell *cell); +gboolean gnc_doclink_get_use_glyphs (Doclinkcell *cell); -const char * gnc_assoc_get_glyph_from_flag (char association_flag); +const char * gnc_doclink_get_glyph_from_flag (char link_flag); /** @} */ #endif diff --git a/gnucash/register/register-core/register-common.c b/gnucash/register/register-core/register-common.c index 47818881e4..a87588ffe1 100644 --- a/gnucash/register/register-core/register-common.c +++ b/gnucash/register/register-core/register-common.c @@ -23,7 +23,7 @@ #include -#include "assoccell.h" +#include "doclinkcell.h" #include "basiccell.h" #include "cell-factory.h" #include "combocell.h" @@ -58,7 +58,7 @@ gnc_register_init (void) gnc_register_add_cell_type (RECN_CELL_TYPE_NAME, gnc_recn_cell_new); - gnc_register_add_cell_type (ASSOC_CELL_TYPE_NAME, gnc_assoc_cell_new); + gnc_register_add_cell_type (ASSOC_CELL_TYPE_NAME, gnc_doclink_cell_new); gnc_register_add_cell_type (QUICKFILL_CELL_TYPE_NAME, gnc_quickfill_cell_new); diff --git a/gnucash/report/html-utilities.scm b/gnucash/report/html-utilities.scm index 3967ec5be7..a801111e10 100644 --- a/gnucash/report/html-utilities.scm +++ b/gnucash/report/html-utilities.scm @@ -45,8 +45,8 @@ (define (gnc:transaction-anchor-text trans) (gnc:register-guid "trans-guid=" (gncTransGetGUID trans))) -(define (gnc:transaction-association-anchor-text trans) - (gnc:register-guid "trans-association-guid=" (gncTransGetGUID trans))) +(define (gnc:transaction-doclink-anchor-text trans) + (gnc:register-guid "trans-doclink-guid=" (gncTransGetGUID trans))) (define (gnc:report-anchor-text report-id) (gnc-build-url URL-TYPE-REPORT @@ -154,9 +154,9 @@ (gnc:transaction-anchor-text trans) text))) -(define (gnc:html-transaction-association-anchor trans text) +(define (gnc:html-transaction-doclink-anchor trans text) (gnc:make-html-text (gnc:html-markup-anchor - (gnc:transaction-association-anchor-text trans) + (gnc:transaction-doclink-anchor-text trans) text))) (define (gnc:html-price-anchor price value) diff --git a/gnucash/report/report.scm b/gnucash/report/report.scm index 6687ce95e0..9218e745e3 100644 --- a/gnucash/report/report.scm +++ b/gnucash/report/report.scm @@ -86,13 +86,13 @@ (export gnc:account-anchor-text) (export gnc:split-anchor-text) (export gnc:transaction-anchor-text) -(export gnc:transaction-association-anchor-text) +(export gnc:transaction-doclink-anchor-text) (export gnc:report-anchor-text) (export gnc:make-report-anchor) (export gnc:html-account-anchor) (export gnc:html-split-anchor) (export gnc:html-transaction-anchor) -(export gnc:html-transaction-association-anchor) +(export gnc:html-transaction-doclink-anchor) (export gnc:html-price-anchor) (export gnc:customer-anchor-text) (export gnc:job-anchor-text) diff --git a/gnucash/report/trep-engine.scm b/gnucash/report/trep-engine.scm index 86608ced0d..0f0dde71fc 100644 --- a/gnucash/report/trep-engine.scm +++ b/gnucash/report/trep-engine.scm @@ -1243,13 +1243,13 @@ be excluded from periodic reporting.") (add-if (column-uses? 'link) (vector "" (lambda (split transaction-row?) - (let ((url (xaccTransGetAssociation + (let ((url (xaccTransGetDocLink (xaccSplitGetParent split)))) (and (not (string-null? url)) (gnc:make-html-table-cell/markup "text-cell" (if opt-use-links? - (gnc:html-transaction-association-anchor + (gnc:html-transaction-doclink-anchor (xaccSplitGetParent split) ;; Translators: 'L' is short for Linked Document (G_ "L")) diff --git a/gnucash/ui/gnc-plugin-page-invoice-ui.xml b/gnucash/ui/gnc-plugin-page-invoice-ui.xml index 882d5aba8c..1874687119 100644 --- a/gnucash/ui/gnc-plugin-page-invoice-ui.xml +++ b/gnucash/ui/gnc-plugin-page-invoice-ui.xml @@ -44,8 +44,8 @@ - - + + diff --git a/gnucash/ui/gnc-plugin-page-register-ui.xml b/gnucash/ui/gnc-plugin-page-register-ui.xml index 500406c32d..8fae493a68 100644 --- a/gnucash/ui/gnc-plugin-page-register-ui.xml +++ b/gnucash/ui/gnc-plugin-page-register-ui.xml @@ -22,11 +22,10 @@ - - - + + - + @@ -100,11 +99,10 @@ - - - + + - + diff --git a/libgnucash/app-utils/gnc-ui-util.c b/libgnucash/app-utils/gnc-ui-util.c index b4624800de..02f487f5b8 100644 --- a/libgnucash/app-utils/gnc-ui-util.c +++ b/libgnucash/app-utils/gnc-ui-util.c @@ -903,13 +903,13 @@ gnc_get_reconcile_flag_order (void) } const char * -gnc_get_association_str (char association_flag) +gnc_get_doclink_str (char link_flag) { - switch (association_flag) + switch (link_flag) { - case WASSOC: + case WLINK: return C_("Document Link flag for 'web'", "w"); - case FASSOC: + case FLINK: return C_("Document Link flag for 'file'", "f"); case ' ': return " "; @@ -920,16 +920,16 @@ gnc_get_association_str (char association_flag) } const char * -gnc_get_association_valid_flags (void) +gnc_get_doclink_valid_flags (void) { - static const char flags[] = { FASSOC, WASSOC, ' ', 0 }; + static const char flags[] = { FLINK, WLINK, ' ', 0 }; return flags; } const char * -gnc_get_association_flag_order (void) +gnc_get_doclink_flag_order (void) { - static const char flags[] = { FASSOC, WASSOC, ' ', 0 }; + static const char flags[] = { FLINK, WLINK, ' ', 0 }; return flags; } diff --git a/libgnucash/app-utils/gnc-ui-util.h b/libgnucash/app-utils/gnc-ui-util.h index ccc0e3a014..881dd6a897 100644 --- a/libgnucash/app-utils/gnc-ui-util.h +++ b/libgnucash/app-utils/gnc-ui-util.h @@ -189,28 +189,28 @@ const char * gnc_get_reconcile_str (char reconciled_flag); const char * gnc_get_reconcile_valid_flags (void); const char * gnc_get_reconcile_flag_order (void); -#define WASSOC 'w' -#define FASSOC 'f' +#define WLINK 'w' +#define FLINK 'f' -/** Get a string containing association valid flags +/** Get a string containing documentation link valid flags * - * @return a string containing the list of associated flags + * @return a string containing the list of valid link_flags */ -const char *gnc_get_association_valid_flags (void); +const char *gnc_get_doclink_valid_flags (void); -/** Get a string containing association flag order +/** Get a string containing document link flag order * - * @return a string containing the association flag change order + * @return a string containing the document link flag change order */ -const char *gnc_get_association_flag_order (void); +const char *gnc_get_doclink_flag_order (void); -/** Get a string representing the association type +/** Get a string representing the document link type * - * @param association_flag The flag to convert into a string + * @param link_flag The flag to convert into a string * - * @return the i18n'd association string + * @return the i18n'd doclink string */ -const char *gnc_get_association_str (char association_flag); +const char *gnc_get_doclink_str (char link_flag); typedef enum { diff --git a/libgnucash/engine/Transaction.c b/libgnucash/engine/Transaction.c index 74e7f9741d..13eb3e0f48 100644 --- a/libgnucash/engine/Transaction.c +++ b/libgnucash/engine/Transaction.c @@ -175,7 +175,7 @@ const char *void_reason_str = "void-reason"; const char *void_time_str = "void-time"; const char *void_former_notes_str = "void-former-notes"; const char *trans_is_closing_str = "book_closing"; -const char *assoc_uri_str = "assoc_uri"; +const char *doclink_uri_str = "doclink_uri"; /* KVP entry for date-due value */ #define TRANS_DATE_DUE_KVP "trans-date-due" @@ -769,7 +769,7 @@ xaccTransCopyFromClipBoard(const Transaction *from_trans, Transaction *to_trans, xaccTransSetNum(to_trans, xaccTransGetNum(from_trans)); xaccTransSetNotes(to_trans, xaccTransGetNotes(from_trans)); - xaccTransSetAssociation(to_trans, xaccTransGetAssociation (from_trans)); + xaccTransSetDocLink(to_trans, xaccTransGetDocLink (from_trans)); if(!no_date) { xaccTransSetDatePostedSecs(to_trans, xaccTransRetDatePosted (from_trans)); @@ -2156,18 +2156,18 @@ xaccTransSetDescription (Transaction *trans, const char *desc) } void -xaccTransSetAssociation (Transaction *trans, const char *assoc) +xaccTransSetDocLink (Transaction *trans, const char *doclink) { - if (!trans || !assoc) return; + if (!trans || !doclink) return; xaccTransBeginEdit(trans); - if (g_strcmp0 (assoc, "") == 0) - qof_instance_set_kvp (QOF_INSTANCE (trans), NULL, 1, assoc_uri_str); + if (g_strcmp0 (doclink, "") == 0) + qof_instance_set_kvp (QOF_INSTANCE (trans), NULL, 1, doclink_uri_str); else { GValue v = G_VALUE_INIT; g_value_init (&v, G_TYPE_STRING); - g_value_set_string (&v, assoc); - qof_instance_set_kvp (QOF_INSTANCE (trans), &v, 1, assoc_uri_str); + g_value_set_string (&v, doclink); + qof_instance_set_kvp (QOF_INSTANCE (trans), &v, 1, doclink_uri_str); } qof_instance_set_dirty(QOF_INSTANCE(trans)); xaccTransCommitEdit(trans); @@ -2347,11 +2347,11 @@ xaccTransGetDescription (const Transaction *trans) } const char * -xaccTransGetAssociation (const Transaction *trans) +xaccTransGetDocLink (const Transaction *trans) { GValue v = G_VALUE_INIT; if (!trans) return NULL; - qof_instance_get_kvp (QOF_INSTANCE (trans), &v, 1, assoc_uri_str); + qof_instance_get_kvp (QOF_INSTANCE (trans), &v, 1, doclink_uri_str); if (G_VALUE_HOLDS_STRING (&v)) return g_value_get_string (&v); return NULL; @@ -3033,9 +3033,9 @@ gboolean xaccTransRegister (void) (QofSetterFunc)qofTransSetNotes }, { - TRANS_ASSOCIATION, QOF_TYPE_STRING, - (QofAccessFunc)xaccTransGetAssociation, - (QofSetterFunc)xaccTransSetAssociation + TRANS_DOCLINK, QOF_TYPE_STRING, + (QofAccessFunc)xaccTransGetDocLink, + (QofSetterFunc)xaccTransSetDocLink }, { TRANS_IS_CLOSING, QOF_TYPE_BOOLEAN, diff --git a/libgnucash/engine/Transaction.h b/libgnucash/engine/Transaction.h index a169650c23..7f124c9fd8 100644 --- a/libgnucash/engine/Transaction.h +++ b/libgnucash/engine/Transaction.h @@ -320,8 +320,8 @@ void xaccTransSetNum (Transaction *trans, const char *num); /** Sets the transaction Description */ void xaccTransSetDescription (Transaction *trans, const char *desc); -/** Sets the transaction Association */ -void xaccTransSetAssociation (Transaction *trans, const char *assoc); +/** Sets the transaction Document Link */ +void xaccTransSetDocLink (Transaction *trans, const char *doclink); /** Sets the transaction Notes * @@ -336,8 +336,8 @@ void xaccTransSetNotes (Transaction *trans, const char *notes); const char * xaccTransGetNum (const Transaction *trans); /** Gets the transaction Description */ const char * xaccTransGetDescription (const Transaction *trans); -/** Gets the transaction association */ -const char * xaccTransGetAssociation(const Transaction *trans); +/** Gets the transaction Document Link */ +const char * xaccTransGetDocLink(const Transaction *trans); /** Gets the transaction Notes * The Notes field is only visible in the register in double-line mode */ @@ -755,7 +755,7 @@ time64 xaccTransGetVoidTime(const Transaction *tr); #define TRANS_IS_BALANCED "trans-balanced?" #define TRANS_IS_CLOSING "trans-is-closing?" #define TRANS_NOTES "notes" -#define TRANS_ASSOCIATION "assoc" +#define TRANS_DOCLINK "doclink" #define TRANS_TYPE "type" #define TRANS_VOID_STATUS "void-p" #define TRANS_VOID_REASON "void-reason" diff --git a/libgnucash/engine/gncInvoice.c b/libgnucash/engine/gncInvoice.c index 0ae2dcf2fa..7ce51a54cf 100644 --- a/libgnucash/engine/gncInvoice.c +++ b/libgnucash/engine/gncInvoice.c @@ -84,7 +84,7 @@ static QofLogModule log_module = GNC_MOD_BUSINESS; #define _GNC_MOD_NAME GNC_ID_INVOICE #define GNC_INVOICE_IS_CN "credit-note" -#define GNC_INVOICE_ASSOC "assoc_uri" +#define GNC_INVOICE_DOCLINK "doclink_uri" #define SET_STR(obj, member, str) { \ char * tmp; \ @@ -538,18 +538,18 @@ void gncInvoiceSetNotes (GncInvoice *invoice, const char *notes) gncInvoiceCommitEdit (invoice); } -void gncInvoiceSetAssociation (GncInvoice *invoice, const char *assoc) +void gncInvoiceSetDocLink (GncInvoice *invoice, const char *doclink) { - if (!invoice || !assoc) return; + if (!invoice || !doclink) return; gncInvoiceBeginEdit (invoice); - if (g_strcmp0 (assoc, "") == 0) - qof_instance_set_kvp (QOF_INSTANCE (invoice), NULL, 1, GNC_INVOICE_ASSOC); + if (g_strcmp0 (doclink, "") == 0) + qof_instance_set_kvp (QOF_INSTANCE (invoice), NULL, 1, GNC_INVOICE_DOCLINK); else { GValue v = G_VALUE_INIT; g_value_init (&v, G_TYPE_STRING); - g_value_set_string (&v, assoc); - qof_instance_set_kvp (QOF_INSTANCE (invoice), &v, 1, GNC_INVOICE_ASSOC); + g_value_set_string (&v, doclink); + qof_instance_set_kvp (QOF_INSTANCE (invoice), &v, 1, GNC_INVOICE_DOCLINK); } qof_instance_set_dirty (QOF_INSTANCE(invoice)); gncInvoiceCommitEdit (invoice); @@ -863,11 +863,11 @@ const char * gncInvoiceGetNotes (const GncInvoice *invoice) return invoice->notes; } -const char * gncInvoiceGetAssociation (const GncInvoice *invoice) +const char * gncInvoiceGetDocLink (const GncInvoice *invoice) { GValue v = G_VALUE_INIT; if (!invoice) return NULL; - qof_instance_get_kvp (QOF_INSTANCE(invoice), &v, 1, GNC_INVOICE_ASSOC); + qof_instance_get_kvp (QOF_INSTANCE(invoice), &v, 1, GNC_INVOICE_DOCLINK); if (G_VALUE_HOLDS_STRING(&v)) return g_value_get_string (&v); return NULL; @@ -2237,7 +2237,7 @@ gboolean gncInvoiceRegister (void) { INVOICE_IS_PAID, QOF_TYPE_BOOLEAN, (QofAccessFunc)gncInvoiceIsPaid, NULL }, { INVOICE_BILLINGID, QOF_TYPE_STRING, (QofAccessFunc)gncInvoiceGetBillingID, (QofSetterFunc)gncInvoiceSetBillingID }, { INVOICE_NOTES, QOF_TYPE_STRING, (QofAccessFunc)gncInvoiceGetNotes, (QofSetterFunc)gncInvoiceSetNotes }, - { INVOICE_ASSOCIATION, QOF_TYPE_STRING, (QofAccessFunc)gncInvoiceGetAssociation, (QofSetterFunc)gncInvoiceSetAssociation }, + { INVOICE_DOCLINK, QOF_TYPE_STRING, (QofAccessFunc)gncInvoiceGetDocLink, (QofSetterFunc)gncInvoiceSetDocLink }, { INVOICE_ACC, GNC_ID_ACCOUNT, (QofAccessFunc)gncInvoiceGetPostedAcc, (QofSetterFunc)gncInvoiceSetPostedAcc }, { INVOICE_POST_TXN, GNC_ID_TRANS, (QofAccessFunc)gncInvoiceGetPostedTxn, (QofSetterFunc)gncInvoiceSetPostedTxn }, { INVOICE_POST_LOT, GNC_ID_LOT, (QofAccessFunc)gncInvoiceGetPostedLot, NULL/*(QofSetterFunc)gncInvoiceSetPostedLot*/ }, diff --git a/libgnucash/engine/gncInvoice.h b/libgnucash/engine/gncInvoice.h index 46e6f24bbf..43cb1865b3 100644 --- a/libgnucash/engine/gncInvoice.h +++ b/libgnucash/engine/gncInvoice.h @@ -108,7 +108,7 @@ void gncInvoiceSetDatePosted (GncInvoice *invoice, time64 date); void gncInvoiceSetTerms (GncInvoice *invoice, GncBillTerm *terms); void gncInvoiceSetBillingID (GncInvoice *invoice, const char *billing_id); void gncInvoiceSetNotes (GncInvoice *invoice, const char *notes); -void gncInvoiceSetAssociation (GncInvoice *invoice, const char *assoc); +void gncInvoiceSetDocLink (GncInvoice *invoice, const char *doclink); void gncInvoiceSetCurrency (GncInvoice *invoice, gnc_commodity *currency); void gncInvoiceSetActive (GncInvoice *invoice, gboolean active); void gncInvoiceSetIsCreditNote (GncInvoice *invoice, gboolean credit_note); @@ -144,7 +144,7 @@ time64 gncInvoiceGetDateDue (const GncInvoice *invoice); GncBillTerm * gncInvoiceGetTerms (const GncInvoice *invoice); const char * gncInvoiceGetBillingID (const GncInvoice *invoice); const char * gncInvoiceGetNotes (const GncInvoice *invoice); -const char * gncInvoiceGetAssociation (const GncInvoice *invoice); +const char * gncInvoiceGetDocLink (const GncInvoice *invoice); GncOwnerType gncInvoiceGetOwnerType (const GncInvoice *invoice); GList * gncInvoiceGetTypeListForOwnerType (const GncOwnerType type); GncInvoiceType gncInvoiceGetType (const GncInvoice *invoice); @@ -293,7 +293,7 @@ gboolean gncInvoiceIsPaid (const GncInvoice *invoice); #define INVOICE_TERMS "terms" #define INVOICE_BILLINGID "billing_id" #define INVOICE_NOTES "notes" -#define INVOICE_ASSOCIATION "assoc" +#define INVOICE_DOCLINK "doclink" #define INVOICE_ACC "account" #define INVOICE_POST_TXN "posted_txn" #define INVOICE_POST_LOT "posted_lot" diff --git a/po/POTFILES.in b/po/POTFILES.in index 8ca39b3f13..e1ffe403ff 100644 --- a/po/POTFILES.in +++ b/po/POTFILES.in @@ -55,13 +55,13 @@ gnucash/gnome/assistant-stock-split.c gnucash/gnome/business-gnome-utils.c gnucash/gnome/business-options-gnome.c gnucash/gnome/business-urls.c -gnucash/gnome/dialog-assoc.c gnucash/gnome/dialog-billterms.c gnucash/gnome/dialog-choose-owner.c gnucash/gnome/dialog-commodities.c gnucash/gnome/dialog-customer.c gnucash/gnome/dialog-custom-report.c gnucash/gnome/dialog-date-close.c +gnucash/gnome/dialog-doclink.c gnucash/gnome/dialog-employee.c gnucash/gnome/dialog-fincalc.c gnucash/gnome/dialog-find-account.c @@ -130,9 +130,9 @@ gnucash/gnome-utils/account-quickfill.c gnucash/gnome-utils/assistant-xml-encoding.c gnucash/gnome-utils/cursors.c gnucash/gnome-utils/dialog-account.c -gnucash/gnome-utils/dialog-assoc-utils.c gnucash/gnome-utils/dialog-book-close.c gnucash/gnome-utils/dialog-commodity.c +gnucash/gnome-utils/dialog-doclink-utils.c gnucash/gnome-utils/dialog-dup-trans.c gnucash/gnome-utils/dialog-file-access.c gnucash/gnome-utils/dialog-object-references.c @@ -248,7 +248,6 @@ gnucash/gtkbuilder/business-options-gnome.glade gnucash/gtkbuilder/business-prefs.glade gnucash/gtkbuilder/dialog-account.glade gnucash/gtkbuilder/dialog-account-picker.glade -gnucash/gtkbuilder/dialog-assoc.glade gnucash/gtkbuilder/dialog-bi-import-gui.glade gnucash/gtkbuilder/dialog-billterms.glade gnucash/gtkbuilder/dialog-book-close.glade @@ -259,6 +258,7 @@ gnucash/gtkbuilder/dialog-customer.glade gnucash/gtkbuilder/dialog-customer-import-gui.glade gnucash/gtkbuilder/dialog-custom-report.glade gnucash/gtkbuilder/dialog-date-close.glade +gnucash/gtkbuilder/dialog-doclink.glade gnucash/gtkbuilder/dialog-employee.glade gnucash/gtkbuilder/dialog-file-access.glade gnucash/gtkbuilder/dialog-fincalc.glade @@ -402,11 +402,11 @@ gnucash/register/ledger-core/split-register-load.c gnucash/register/ledger-core/split-register-model.c gnucash/register/ledger-core/split-register-model-save.c gnucash/register/ledger-core/split-register-util.c -gnucash/register/register-core/assoccell.c gnucash/register/register-core/basiccell.c gnucash/register/register-core/cellblock.c gnucash/register/register-core/cell-factory.c gnucash/register/register-core/checkboxcell.c +gnucash/register/register-core/doclinkcell.c gnucash/register/register-core/formulacell.c gnucash/register/register-core/gtable.c gnucash/register/register-core/numcell.c