From d2655d3fb0e4fa78ce0ca3f2f210194ddeac290f Mon Sep 17 00:00:00 2001 From: John Ralls Date: Thu, 22 Aug 2019 15:39:39 -0700 Subject: [PATCH] Remove gnc-option-db business convenience functions. gnc_option_db_lookup_invoice_option used only once, so moved its guts there. The others weren't used at all. --- gnucash/gnome/business-options-gnome.h | 2 +- gnucash/gnome/gnc-plugin-page-report.c | 15 ++-- libgnucash/app-utils/CMakeLists.txt | 2 - libgnucash/app-utils/business-options.c | 92 ------------------------- libgnucash/app-utils/business-options.h | 56 --------------- libgnucash/app-utils/gnc-optiondb.cpp | 19 ----- po/POTFILES.in | 1 - 7 files changed, 11 insertions(+), 176 deletions(-) delete mode 100644 libgnucash/app-utils/business-options.c delete mode 100644 libgnucash/app-utils/business-options.h diff --git a/gnucash/gnome/business-options-gnome.h b/gnucash/gnome/business-options-gnome.h index 32db8740b3..47d518f225 100644 --- a/gnucash/gnome/business-options-gnome.h +++ b/gnucash/gnome/business-options-gnome.h @@ -1,5 +1,5 @@ /* - * business-options.h -- Initialize the Business Options + * business-options-gnome.h -- Initialize the Business Options * * Written By: Derek Atkins * Copyright (C) 2002 Derek Atkins diff --git a/gnucash/gnome/gnc-plugin-page-report.c b/gnucash/gnome/gnc-plugin-page-report.c index dff95509de..3c5f4104c6 100644 --- a/gnucash/gnome/gnc-plugin-page-report.c +++ b/gnucash/gnome/gnc-plugin-page-report.c @@ -72,7 +72,6 @@ #include "window-report.h" #include "swig-runtime.h" #include "guile-mappings.h" -#include "business-options.h" #include "gnc-icons.h" #include "print-session.h" @@ -1785,11 +1784,17 @@ gnc_plugin_page_report_options_cb( GtkAction *action, GncPluginPageReport *repor gnc_plugin_page_report_add_edited_report(priv, priv->cur_report); } -static GncInvoice *lookup_invoice(GncPluginPageReportPrivate *priv) +static GncInvoice* +lookup_invoice(GncPluginPageReportPrivate *priv) { - g_assert(priv); - return gnc_option_db_lookup_invoice_option(priv->cur_odb, "General", - "Invoice Number", NULL); + SCM opt_val = gnc_option_db_lookup_option(priv->cur_odb, "General", + "Invoice Number", NULL); + if (opt_val == SCM_UNDEFINED) + return NULL; + +#define FUNC_NAME G_STRFUNC + return SWIG_MustGetPtr(opt_val, SWIG_TypeQuery("_p__gncInvoice"), 1, 0); +#undef FUNC_NAME } #define GNC_PREFS_GROUP_REPORT_PDFEXPORT GNC_PREFS_GROUP_GENERAL_REPORT ".pdf-export" diff --git a/libgnucash/app-utils/CMakeLists.txt b/libgnucash/app-utils/CMakeLists.txt index 6a376b7ea1..7a0df5d351 100644 --- a/libgnucash/app-utils/CMakeLists.txt +++ b/libgnucash/app-utils/CMakeLists.txt @@ -15,7 +15,6 @@ set (app_utils_noinst_HEADERS set (app_utils_HEADERS QuickFill.h - business-options.h file-utils.h gfec.h gnc-basic-gobject.h @@ -52,7 +51,6 @@ gnc_add_swig_python_command (swig-app-utils-python set (app_utils_SOURCES calculation/expression_parser.c calculation/fin.c - business-options.c QuickFill.c file-utils.c gfec.c diff --git a/libgnucash/app-utils/business-options.c b/libgnucash/app-utils/business-options.c deleted file mode 100644 index 2eb18a4163..0000000000 --- a/libgnucash/app-utils/business-options.c +++ /dev/null @@ -1,92 +0,0 @@ -/* - * business-options.c -- Non-GUI Option Utilities for GNC Business Objects - * - * Written By: Derek Atkins - * Copyright (C) 2003 Derek Atkins - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License as - * published by the Free Software Foundation; either version 2 of - * the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, contact: - * - * Free Software Foundation Voice: +1-617-542-5942 - * 51 Franklin Street, Fifth Floor Fax: +1-617-542-2652 - * Boston, MA 02110-1301, USA gnu@gnu.org - */ - -#include - -#include "business-options.h" -#include "swig-runtime.h" -#include "guile-mappings.h" - -#define FUNC_NAME G_STRFUNC - -#define LOOKUP_OPTION(fcn) \ - GNCOption *option; \ - SCM getter; \ - SCM value; \ - \ - option = gnc_option_db_get_option_by_name (odb, section, name); \ - \ - if (option == NULL) \ - return default_value; \ - \ - getter = gnc_option_getter (option); \ - if (getter == SCM_UNDEFINED) \ - return default_value; \ - \ - value = scm_call_0 (getter); \ - if (value == SCM_BOOL_F) \ - return NULL; \ - SWIG_GetModule(NULL); /* Work-around for SWIG bug. */ \ - if (!SWIG_IsPointer(value)) \ - scm_misc_error(fcn, "SCM is not a wrapped pointer.", value) - -GncTaxTable* -gnc_option_db_lookup_taxtable_option(GNCOptionDB *odb, - const char *section, - const char *name, - GncTaxTable * default_value) -{ - LOOKUP_OPTION("gnc_option_db_lookup_taxtable_option"); - return SWIG_MustGetPtr(value, SWIG_TypeQuery("_p__gncTaxTable"), 1, 0); -} - -GncInvoice* -gnc_option_db_lookup_invoice_option(GNCOptionDB *odb, - const char *section, - const char *name, - GncInvoice * default_value) -{ - LOOKUP_OPTION("gnc_option_db_lookup_invoice_option"); - return SWIG_MustGetPtr(value, SWIG_TypeQuery("_p__gncInvoice"), 1, 0); -} - -GncCustomer* -gnc_option_db_lookup_customer_option(GNCOptionDB *odb, - const char *section, - const char *name, - GncCustomer * default_value) -{ - LOOKUP_OPTION("gnc_option_db_lookup_customer_option"); - return SWIG_MustGetPtr(value, SWIG_TypeQuery("_p__gncCustomer"), 1, 0); -} - -GncVendor* -gnc_option_db_lookup_vendor_option(GNCOptionDB *odb, - const char *section, - const char *name, - GncVendor * default_value) -{ - LOOKUP_OPTION("gnc_option_db_lookup_vendor_option"); - return SWIG_MustGetPtr(value, SWIG_TypeQuery("_p__gncVendor"), 1, 0); -} diff --git a/libgnucash/app-utils/business-options.h b/libgnucash/app-utils/business-options.h deleted file mode 100644 index 285e3e9a43..0000000000 --- a/libgnucash/app-utils/business-options.h +++ /dev/null @@ -1,56 +0,0 @@ -/* - * business-options.h -- non-GUI Option Utilities for GNC Business Objects - * - * Written By: Derek Atkins - * Copyright (C) 2003 Derek Atkins - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License as - * published by the Free Software Foundation; either version 2 of - * the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, contact: - * - * Free Software Foundation Voice: +1-617-542-5942 - * 51 Franklin Street, Fifth Floor Fax: +1-617-542-2652 - * Boston, MA 02110-1301, USA gnu@gnu.org - */ - -#ifndef GNC_BUSINESS_OPTIONS_UTILS_H_ -#define GNC_BUSINESS_OPTIONS_UTILS_H_ - -#include "option-util.h" -#include "gncTaxTable.h" -#include "gncInvoice.h" -#include "gncCustomer.h" -#include "gncVendor.h" - - -GncTaxTable* gnc_option_db_lookup_taxtable_option(GNCOptionDB *odb, - const char *section, - const char *name, - GncTaxTable * default_value); - -GncInvoice* gnc_option_db_lookup_invoice_option(GNCOptionDB *odb, - const char *section, - const char *name, - GncInvoice * default_value); - -GncCustomer* gnc_option_db_lookup_customer_option(GNCOptionDB *odb, - const char *section, - const char *name, - GncCustomer * default_value); - -GncVendor* gnc_option_db_lookup_vendor_option(GNCOptionDB *odb, - const char *section, - const char *name, - GncVendor * default_value); - - -#endif /* GNC_BUSINESS_OPTIONS_UTILS_H_ */ diff --git a/libgnucash/app-utils/gnc-optiondb.cpp b/libgnucash/app-utils/gnc-optiondb.cpp index fbc08f410b..641bd1194d 100644 --- a/libgnucash/app-utils/gnc-optiondb.cpp +++ b/libgnucash/app-utils/gnc-optiondb.cpp @@ -137,25 +137,6 @@ GncOptionDB::set_selectable(const char* section, const char* name) void GncOptionDB::commit() { - std::for_each( - m_sections.begin(), m_sections.end(), - [](GncOptionSection section) - { - std::for_each( - section.second.begin(), section.second.end(), - [](GncOptionWrapperPtr option) - { -/* FIXME, not implemented. - if (option->m_option.is_dirty()) - { - option->m_option.commit(); - -* FIXME, no Gtk in gtk_widget_set_value(option->m_widget, -* libgnucash! option->m_option.get_value()); - } -*/ - }); - }); } GncOptionDB* diff --git a/po/POTFILES.in b/po/POTFILES.in index fe2f1ca715..0f92fb3c27 100644 --- a/po/POTFILES.in +++ b/po/POTFILES.in @@ -509,7 +509,6 @@ gnucash/report/stylesheets/head-or-tail.scm gnucash/report/stylesheets/plain.scm gnucash/report/trep-engine.scm libgnucash/app-utils/app-utils.scm -libgnucash/app-utils/business-options.c libgnucash/app-utils/business-options.scm libgnucash/app-utils/business-prefs.scm libgnucash/app-utils/calculation/expression_parser.c