diff --git a/README b/README index c89e43e5bf..f672534093 100644 --- a/README +++ b/README @@ -323,8 +323,7 @@ Getting Source with Git We maintain a mirror of our master repository on Github. You can browse the code at https://github.com/Gnucash/gnucash. Clone URIs are on that page, or if you have a Github account you can fork it -there. Note, however, that we do *not* accept Github pull requests: -All patches should be submitted via Bugzilla, see below. +there. ################## Developing GnuCash @@ -355,5 +354,8 @@ Submitting a Patch: patches to either of the mailing lists, as they tend to be forgotten. + Alternatively, you can also submit your patches in the form of a git + pull request. + Thank you. diff --git a/src/app-utils/gnc-ui-util.c b/src/app-utils/gnc-ui-util.c index ef00790fe8..ea28d48bc9 100644 --- a/src/app-utils/gnc-ui-util.c +++ b/src/app-utils/gnc-ui-util.c @@ -263,7 +263,6 @@ gnc_book_option_num_field_source_change_cb (gboolean num_action) } gnc_book_option_num_field_source_change (num_action); gnc_resume_gui_refresh (); - gnc_gui_refresh_all (); } /** Calls gnc_book_option_book_currency_selected to initiate registered diff --git a/src/bin/overrides/CMakeLists.txt b/src/bin/overrides/CMakeLists.txt index 0390377d68..371d313cb2 100644 --- a/src/bin/overrides/CMakeLists.txt +++ b/src/bin/overrides/CMakeLists.txt @@ -9,7 +9,7 @@ SET(GNC_BUILDDIR ${CMAKE_BINARY_DIR}) CONFIGURE_FILE(gnucash-make-guids.in ${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/gnucash-make-guids) GNC_CONFIGURE(gnucash-env.in ${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/gnucash-env) -GNC_CONFIGURE(guile.in ${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/guile) +GNC_CONFIGURE(guile.in ${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/guile) #not installed GNC_CONFIGURE(gnucash-build-env.in ${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/gnucash-build-env) # not installed SET(SCRIPT_OUTPUT_DIR ${CMAKE_CURRENT_BINARY_DIR}) @@ -28,6 +28,5 @@ INSTALL( PROGRAMS ${SCRIPT_OUTPUT_DIR}/gnucash-env ${SCRIPT_OUTPUT_DIR}/gnucash-make-guids - ${SCRIPT_OUTPUT_DIR}/guile DESTINATION libexec/gnucash/overrides -) \ No newline at end of file +) diff --git a/src/bin/overrides/Makefile.am b/src/bin/overrides/Makefile.am index 2476cdf723..74fb50ad12 100644 --- a/src/bin/overrides/Makefile.am +++ b/src/bin/overrides/Makefile.am @@ -2,8 +2,7 @@ gncoverridesdir = ${GNC_LIBEXECDIR}/overrides # When you add a file here, please modify ../test/Makefile.am's overrides.stamp gncoverrides_SCRIPTS = \ gnucash-env \ - gnucash-make-guids \ - guile + gnucash-make-guids EXTRA_DIST = \ gnucash-env.in \ @@ -11,7 +10,7 @@ EXTRA_DIST = \ gnucash-make-guids \ guile.in -noinst_DATA = gnucash-build-env +noinst_DATA = gnucash-build-env guile PWD := $(shell pwd) diff --git a/src/bin/overrides/gnucash-make-guids.in b/src/bin/overrides/gnucash-make-guids.in index d03e135834..df501ce8aa 100755 --- a/src/bin/overrides/gnucash-make-guids.in +++ b/src/bin/overrides/gnucash-make-guids.in @@ -1,5 +1,5 @@ #!/bin/sh -exec gnucash-env @GUILE@ -s "$0" "$@" +exec gnucash-env guile -s "$0" "$@" !# (define (usage) diff --git a/src/gnome-utils/dialog-options.c b/src/gnome-utils/dialog-options.c index 62b1d414eb..29307ed883 100644 --- a/src/gnome-utils/dialog-options.c +++ b/src/gnome-utils/dialog-options.c @@ -168,6 +168,14 @@ gnc_options_dialog_changed (GNCOptionWin *win) gnc_options_dialog_changed_internal (win->dialog, TRUE); } +void +gnc_options_dialog_not_changed (GNCOptionWin *win) +{ + if (!win) return; + + gnc_options_dialog_changed_internal (win->dialog, FALSE); +} + void gnc_option_changed_widget_cb(GtkWidget *widget, GNCOption *option) { diff --git a/src/gnome-utils/dialog-options.h b/src/gnome-utils/dialog-options.h index 4cdcbb182a..a9818949b8 100644 --- a/src/gnome-utils/dialog-options.h +++ b/src/gnome-utils/dialog-options.h @@ -46,6 +46,7 @@ GtkWidget * gnc_options_page_list(GNCOptionWin * win); GtkWidget * gnc_options_dialog_notebook(GNCOptionWin * win); void gnc_options_dialog_changed (GNCOptionWin *win); +void gnc_options_dialog_not_changed (GNCOptionWin *win); void gnc_option_changed_widget_cb(GtkWidget *widget, GNCOption *option); void gnc_option_changed_option_cb(GtkWidget *dummy, GNCOption *option); diff --git a/src/gnome-utils/gnc-main-window.c b/src/gnome-utils/gnc-main-window.c index 65145dfe01..f32bebc889 100644 --- a/src/gnome-utils/gnc-main-window.c +++ b/src/gnome-utils/gnc-main-window.c @@ -3923,7 +3923,7 @@ gnc_main_window_cmd_page_setup (GtkAction *action, gnc_ui_page_setup(gtk_window); } -void +gboolean gnc_book_options_dialog_apply_helper(GNCOptionDB * options) { QofBook *book = gnc_get_current_book (); @@ -3933,8 +3933,9 @@ gnc_book_options_dialog_apply_helper(GNCOptionDB * options) gnc_book_use_book_currency (book); gboolean use_split_action_for_num_after; gboolean use_book_currency_after; + gboolean return_val = FALSE; - if (!options) return; + if (!options) return return_val; gnc_option_db_commit (options); qof_book_begin_edit (book); @@ -3943,11 +3944,18 @@ gnc_book_options_dialog_apply_helper(GNCOptionDB * options) qof_book_use_split_action_for_num_field (book); use_book_currency_after = gnc_book_use_book_currency (book); if (use_split_action_for_num_before != use_split_action_for_num_after) + { gnc_book_option_num_field_source_change_cb ( use_split_action_for_num_after); + return_val = TRUE; + } if (use_book_currency_before != use_book_currency_after) + { gnc_book_option_book_currency_selected_cb (use_book_currency_after); + return_val = TRUE; + } qof_book_commit_edit (book); + return return_val; } static void @@ -3955,8 +3963,18 @@ gnc_book_options_dialog_apply_cb(GNCOptionWin * optionwin, gpointer user_data) { GNCOptionDB * options = user_data; + if (!options) return; - gnc_book_options_dialog_apply_helper (options); + + if (gnc_book_options_dialog_apply_helper (options)); + { + gnc_gui_refresh_all (); + if (!optionwin) return; + /* the previous stmt causes the 'apply' and 'OK' buttons to be set to + sensitive on the open Book Options dialog; the next stmt resets them + to insensitive, as they should be */ + gnc_options_dialog_not_changed (optionwin); + } } static void diff --git a/src/gnome-utils/gnc-main-window.h b/src/gnome-utils/gnc-main-window.h index 044058b5f3..c414617e88 100644 --- a/src/gnome-utils/gnc-main-window.h +++ b/src/gnome-utils/gnc-main-window.h @@ -431,8 +431,9 @@ GtkWidget *gnc_book_options_dialog_cb (gboolean modal, gchar *title); * * @param GNCOptionDB * options. * + * @return TRUE if gnc_gui_refresh_all should be called; otherwise FALSE. **/ -void gnc_book_options_dialog_apply_helper(GNCOptionDB * options); +gboolean gnc_book_options_dialog_apply_helper(GNCOptionDB * options); #endif /* __GNC_MAIN_WINDOW_H */