Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package homebank for openSUSE:Factory checked in at 2022-07-10 23:15:30 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/homebank (Old) and /work/SRC/openSUSE:Factory/.homebank.new.1523 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "homebank" Sun Jul 10 23:15:30 2022 rev:33 rq:988060 version:5.5.6 Changes: -------- --- /work/SRC/openSUSE:Factory/homebank/homebank.changes 2022-04-26 20:17:37.596750379 +0200 +++ /work/SRC/openSUSE:Factory/.homebank.new.1523/homebank.changes 2022-07-10 23:15:35.740973207 +0200 @@ -1,0 +2,17 @@ +Thu Jun 30 18:07:43 UTC 2022 - Carsten Ziepke <kiel...@gmail.com> + +- Update to version 5.5.6: + * bugfix: #1977796 rounding problem for euro minor in + deutsche mark + * bugfix: #1976138 split amount opposite sign don't work when + using + button + * bugfix: #1972078 inherit old xfer enable to post to + a closed account + * bugfix: #1970526 windows do not minimize independently; cannot + raise main window above others + * bugfix: #1970509 manage scheduled list column hscrollbar + * bugfix: #1970020 balance report - toggle detail show no txn + * bugfix: #1967708 csv export invalid with semicolon in text +- BuildRequires for glib2 changed to >= 2.68 + +------------------------------------------------------------------- Old: ---- homebank-5.5.5.tar.gz New: ---- homebank-5.5.6.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ homebank.spec ++++++ --- /var/tmp/diff_new_pack.sxiqyO/_old 2022-07-10 23:15:36.656974608 +0200 +++ /var/tmp/diff_new_pack.sxiqyO/_new 2022-07-10 23:15:36.660974615 +0200 @@ -17,7 +17,7 @@ Name: homebank -Version: 5.5.5 +Version: 5.5.6 Release: 0 Summary: Application to manage personal accounts License: GPL-2.0-or-later @@ -30,7 +30,7 @@ BuildRequires: libofx-devel BuildRequires: pkgconfig BuildRequires: update-desktop-files -BuildRequires: pkgconfig(glib-2.0) >= 2.39 +BuildRequires: pkgconfig(glib-2.0) >= 2.68 BuildRequires: pkgconfig(gtk+-3.0) >= 3.16 BuildRequires: pkgconfig(libsoup-2.4) >= 2.26 ++++++ homebank-5.5.5.tar.gz -> homebank-5.5.6.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/homebank-5.5.5/ChangeLog new/homebank-5.5.6/ChangeLog --- old/homebank-5.5.5/ChangeLog 2022-04-18 17:33:01.000000000 +0200 +++ new/homebank-5.5.6/ChangeLog 2022-06-28 19:14:34.000000000 +0200 @@ -1,5 +1,18 @@ +2022-06-28 Maxime Doyen + + Made 5.5.6 release + + * bugfix: #1977796 rounding problem for euro minor in deutsche mark + * bugfix: #1976138 split amount opposite sign don't work when using + button + * bugfix: #1972078 inherit old xfer enable to post to a closed account + * bugfix: #1970526 windows do not minimize independently; cannot raise main window above others + * bugfix: #1970509 manage scheduled list column hscrollbar + * bugfix: #1970020 balance report - toggle detail show no txn + * bugfix: #1967708 csv export invalid with semicolon in text + + 2022-04-18 Maxime Doyen Made 5.5.5 release diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/homebank-5.5.5/Makefile.in new/homebank-5.5.6/Makefile.in --- old/homebank-5.5.5/Makefile.in 2022-04-15 17:31:12.000000000 +0200 +++ new/homebank-5.5.6/Makefile.in 2022-05-19 22:49:30.000000000 +0200 @@ -256,13 +256,11 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ -EGREP = @EGREP@ ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ -GREP = @GREP@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/homebank-5.5.5/aclocal.m4 new/homebank-5.5.6/aclocal.m4 --- old/homebank-5.5.5/aclocal.m4 2022-04-15 17:31:11.000000000 +0200 +++ new/homebank-5.5.6/aclocal.m4 2022-05-19 22:49:29.000000000 +0200 @@ -1718,35 +1718,6 @@ fi ]) -# -*- Autoconf -*- -# Obsolete and "removed" macros, that must however still report explicit -# error messages when used, to smooth transition. -# -# Copyright (C) 1996-2021 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -AC_DEFUN([AM_CONFIG_HEADER], -[AC_DIAGNOSE([obsolete], -['$0': this macro is obsolete. -You should use the 'AC][_CONFIG_HEADERS' macro instead.])dnl -AC_CONFIG_HEADERS($@)]) - -AC_DEFUN([AM_PROG_CC_STDC], -[AC_PROG_CC -am_cv_prog_cc_stdc=$ac_cv_prog_cc_stdc -AC_DIAGNOSE([obsolete], -['$0': this macro is obsolete. -You should simply use the 'AC][_PROG_CC' macro instead. -Also, your code should no longer depend upon 'am_cv_prog_cc_stdc', -but upon 'ac_cv_prog_cc_stdc'.])]) - -AC_DEFUN([AM_C_PROTOTYPES], - [AC_FATAL([automatic de-ANSI-fication support has been removed])]) -AU_DEFUN([fp_C_PROTOTYPES], [AM_C_PROTOTYPES]) - # Helper functions for option handling. -*- Autoconf -*- # Copyright (C) 2001-2021 Free Software Foundation, Inc. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/homebank-5.5.5/configure new/homebank-5.5.6/configure --- old/homebank-5.5.5/configure 2022-04-15 17:31:12.000000000 +0200 +++ new/homebank-5.5.6/configure 2022-05-19 22:49:30.000000000 +0200 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.71 for homebank 5.5.5. +# Generated by GNU Autoconf 2.71 for homebank 5.5.6. # # # Copyright (C) 1992-1996, 1998-2017, 2020-2021 Free Software Foundation, @@ -180,8 +180,7 @@ as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && - test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1 -test \$(( 1 + 1 )) = 2 || exit 1" + test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1" if (eval "$as_required") 2>/dev/null then : as_have_required=yes @@ -608,8 +607,8 @@ # Identity of this package. PACKAGE_NAME='homebank' PACKAGE_TARNAME='homebank' -PACKAGE_VERSION='5.5.5' -PACKAGE_STRING='homebank 5.5.5' +PACKAGE_VERSION='5.5.6' +PACKAGE_STRING='homebank 5.5.6' PACKAGE_BUGREPORT='' PACKAGE_URL='' @@ -663,8 +662,6 @@ CATALOGS MSGFMT_OPTS INTL_MACOSX_LIBS -EGREP -GREP NOOFX_FALSE NOOFX_TRUE LIBSOUP_LIBS @@ -1367,7 +1364,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures homebank 5.5.5 to adapt to many kinds of systems. +\`configure' configures homebank 5.5.6 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1434,7 +1431,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of homebank 5.5.5:";; + short | recursive ) echo "Configuration of homebank 5.5.6:";; esac cat <<\_ACEOF @@ -1542,7 +1539,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -homebank configure 5.5.5 +homebank configure 5.5.6 generated by GNU Autoconf 2.71 Copyright (C) 2021 Free Software Foundation, Inc. @@ -1817,7 +1814,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by homebank $as_me 5.5.5, which was +It was created by homebank $as_me 5.5.6, which was generated by GNU Autoconf 2.71. Invocation command line was $ $0$ac_configure_args_raw @@ -3091,7 +3088,7 @@ # Define the identity of the package. PACKAGE='homebank' - VERSION='5.5.5' + VERSION='5.5.6' printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h @@ -5543,152 +5540,6 @@ # Checks for header files. -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 -printf %s "checking for grep that handles long lines and -e... " >&6; } -if test ${ac_cv_path_GREP+y} -then : - printf %s "(cached) " >&6 -else $as_nop - if test -z "$GREP"; then - ac_path_GREP_found=false - # Loop through the user's path and test for each of PROGNAME-LIST - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_prog in grep ggrep - do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_GREP="$as_dir$ac_prog$ac_exec_ext" - as_fn_executable_p "$ac_path_GREP" || continue -# Check for GNU ac_path_GREP and select it if it is found. - # Check for GNU $ac_path_GREP -case `"$ac_path_GREP" --version 2>&1` in -*GNU*) - ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; -*) - ac_count=0 - printf %s 0123456789 >"conftest.in" - while : - do - cat "conftest.in" "conftest.in" >"conftest.tmp" - mv "conftest.tmp" "conftest.in" - cp "conftest.in" "conftest.nl" - printf "%s\n" 'GREP' >> "conftest.nl" - "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break - diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - as_fn_arith $ac_count + 1 && ac_count=$as_val - if test $ac_count -gt ${ac_path_GREP_max-0}; then - # Best one so far, save it but keep looking for a better one - ac_cv_path_GREP="$ac_path_GREP" - ac_path_GREP_max=$ac_count - fi - # 10*(2^10) chars as input seems more than enough - test $ac_count -gt 10 && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out;; -esac - - $ac_path_GREP_found && break 3 - done - done - done -IFS=$as_save_IFS - if test -z "$ac_cv_path_GREP"; then - as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 - fi -else - ac_cv_path_GREP=$GREP -fi - -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 -printf "%s\n" "$ac_cv_path_GREP" >&6; } - GREP="$ac_cv_path_GREP" - - -# Autoupdate added the next two lines to ensure that your configure -# script's behavior did not change. They are probably safe to remove. - -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 -printf %s "checking for egrep... " >&6; } -if test ${ac_cv_path_EGREP+y} -then : - printf %s "(cached) " >&6 -else $as_nop - if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 - then ac_cv_path_EGREP="$GREP -E" - else - if test -z "$EGREP"; then - ac_path_EGREP_found=false - # Loop through the user's path and test for each of PROGNAME-LIST - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin -do - IFS=$as_save_IFS - case $as_dir in #((( - '') as_dir=./ ;; - */) ;; - *) as_dir=$as_dir/ ;; - esac - for ac_prog in egrep - do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_EGREP="$as_dir$ac_prog$ac_exec_ext" - as_fn_executable_p "$ac_path_EGREP" || continue -# Check for GNU ac_path_EGREP and select it if it is found. - # Check for GNU $ac_path_EGREP -case `"$ac_path_EGREP" --version 2>&1` in -*GNU*) - ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; -*) - ac_count=0 - printf %s 0123456789 >"conftest.in" - while : - do - cat "conftest.in" "conftest.in" >"conftest.tmp" - mv "conftest.tmp" "conftest.in" - cp "conftest.in" "conftest.nl" - printf "%s\n" 'EGREP' >> "conftest.nl" - "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break - diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - as_fn_arith $ac_count + 1 && ac_count=$as_val - if test $ac_count -gt ${ac_path_EGREP_max-0}; then - # Best one so far, save it but keep looking for a better one - ac_cv_path_EGREP="$ac_path_EGREP" - ac_path_EGREP_max=$ac_count - fi - # 10*(2^10) chars as input seems more than enough - test $ac_count -gt 10 && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out;; -esac - - $ac_path_EGREP_found && break 3 - done - done - done -IFS=$as_save_IFS - if test -z "$ac_cv_path_EGREP"; then - as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 - fi -else - ac_cv_path_EGREP=$EGREP -fi - - fi -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 -printf "%s\n" "$ac_cv_path_EGREP" >&6; } - EGREP="$ac_cv_path_EGREP" - - - ac_fn_c_check_header_compile "$LINENO" "libintl.h" "ac_cv_header_libintl_h" "$ac_includes_default" if test "x$ac_cv_header_libintl_h" = xyes then : @@ -6965,6 +6816,7 @@ ac_libobjs= ac_ltlibobjs= +U= for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue # 1. Remove the extension, and $U if already installed. ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' @@ -7401,7 +7253,7 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by homebank $as_me 5.5.5, which was +This file was extended by homebank $as_me 5.5.6, which was generated by GNU Autoconf 2.71. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -7469,7 +7321,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config='$ac_cs_config_escaped' ac_cs_version="\\ -homebank config.status 5.5.5 +homebank config.status 5.5.6 configured by $0, generated by GNU Autoconf 2.71, with options \\"\$ac_cs_config\\" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/homebank-5.5.5/configure.ac new/homebank-5.5.6/configure.ac --- old/homebank-5.5.5/configure.ac 2022-02-13 17:57:11.000000000 +0100 +++ new/homebank-5.5.6/configure.ac 2022-05-11 08:46:40.000000000 +0200 @@ -1,11 +1,11 @@ # -*- Autoconf -*- # Process this file with autoconf to produce a configure script. -AC_PREREQ(2.52) -AC_INIT([homebank], [5.5.5]) +AC_PREREQ(2.71) +AC_INIT([homebank], [5.5.6]) #AC_INIT([homebank], [x.x-rc]) -AM_CONFIG_HEADER(config.h) +AC_CONFIG_HEADERS(config.h) AM_INIT_AUTOMAKE([1.9 foreign]) @@ -19,7 +19,7 @@ AC_PROG_CC AC_PROG_LN_S AC_PROG_INSTALL -AC_PROG_INTLTOOL +IT_PROG_INTLTOOL # Checks for libraries. PKG_CHECK_MODULES(DEPS, gtk+-3.0 >= 3.16 glib-2.0 >= 2.39) @@ -77,7 +77,6 @@ AM_CONDITIONAL(NOOFX, test x$noofx = xtrue) # Checks for header files. -AC_HEADER_STDC AC_CHECK_HEADERS([libintl.h locale.h stdlib.h string.h]) # Checks for typedefs, structures, and compiler characteristics. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/homebank-5.5.5/data/Makefile.in new/homebank-5.5.6/data/Makefile.in --- old/homebank-5.5.5/data/Makefile.in 2022-04-15 17:31:12.000000000 +0200 +++ new/homebank-5.5.6/data/Makefile.in 2022-05-19 22:49:30.000000000 +0200 @@ -231,13 +231,11 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ -EGREP = @EGREP@ ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ -GREP = @GREP@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/homebank-5.5.5/data/datas/Makefile.in new/homebank-5.5.6/data/datas/Makefile.in --- old/homebank-5.5.5/data/datas/Makefile.in 2022-04-15 17:31:12.000000000 +0200 +++ new/homebank-5.5.6/data/datas/Makefile.in 2022-05-19 22:49:30.000000000 +0200 @@ -172,13 +172,11 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ -EGREP = @EGREP@ ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ -GREP = @GREP@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/homebank-5.5.5/doc/Makefile.in new/homebank-5.5.6/doc/Makefile.in --- old/homebank-5.5.5/doc/Makefile.in 2022-04-15 17:31:12.000000000 +0200 +++ new/homebank-5.5.6/doc/Makefile.in 2022-05-19 22:49:30.000000000 +0200 @@ -231,13 +231,11 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ -EGREP = @EGREP@ ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ -GREP = @GREP@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/homebank-5.5.5/doc/frm-main.html new/homebank-5.5.6/doc/frm-main.html --- old/homebank-5.5.5/doc/frm-main.html 2022-04-18 10:21:49.000000000 +0200 +++ new/homebank-5.5.6/doc/frm-main.html 2022-06-28 19:15:26.000000000 +0200 @@ -10,8 +10,8 @@ <div class="mainpage"> <p><img src="images/web_title.png"><br></p> - <p>Version: 5.5.5<br> - Compilation date: Apr 18th, 2022</p><br> + <p>Version: 5.5.6<br> + Compilation date: Jun 28th, 2022</p><br> <p>© Copyright 1995-2022 by Maxime Doyen<br> All Rights Reserved</p> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/homebank-5.5.5/doc/images/Makefile.in new/homebank-5.5.6/doc/images/Makefile.in --- old/homebank-5.5.5/doc/images/Makefile.in 2022-04-15 17:31:12.000000000 +0200 +++ new/homebank-5.5.6/doc/images/Makefile.in 2022-05-19 22:49:30.000000000 +0200 @@ -172,13 +172,11 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ -EGREP = @EGREP@ ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ -GREP = @GREP@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/homebank-5.5.5/images/Makefile.in new/homebank-5.5.6/images/Makefile.in --- old/homebank-5.5.5/images/Makefile.in 2022-04-15 17:31:12.000000000 +0200 +++ new/homebank-5.5.6/images/Makefile.in 2022-05-19 22:49:30.000000000 +0200 @@ -172,13 +172,11 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ -EGREP = @EGREP@ ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ -GREP = @GREP@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/homebank-5.5.5/mime/Makefile.in new/homebank-5.5.6/mime/Makefile.in --- old/homebank-5.5.5/mime/Makefile.in 2022-04-15 17:31:12.000000000 +0200 +++ new/homebank-5.5.6/mime/Makefile.in 2022-05-19 22:49:30.000000000 +0200 @@ -173,13 +173,11 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ -EGREP = @EGREP@ ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ -GREP = @GREP@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/homebank-5.5.5/pixmaps/Makefile.in new/homebank-5.5.6/pixmaps/Makefile.in --- old/homebank-5.5.5/pixmaps/Makefile.in 2022-04-15 17:31:12.000000000 +0200 +++ new/homebank-5.5.6/pixmaps/Makefile.in 2022-05-19 22:49:30.000000000 +0200 @@ -144,13 +144,11 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ -EGREP = @EGREP@ ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ -GREP = @GREP@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/homebank-5.5.5/src/Makefile.in new/homebank-5.5.6/src/Makefile.in --- old/homebank-5.5.5/src/Makefile.in 2022-04-15 17:31:12.000000000 +0200 +++ new/homebank-5.5.6/src/Makefile.in 2022-05-19 22:49:30.000000000 +0200 @@ -243,13 +243,11 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ -EGREP = @EGREP@ ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ -GREP = @GREP@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/homebank-5.5.5/src/dsp-account.c new/homebank-5.5.6/src/dsp-account.c --- old/homebank-5.5.5/src/dsp-account.c 2022-04-15 17:20:26.000000000 +0200 +++ new/homebank-5.5.6/src/dsp-account.c 2022-06-20 23:17:34.000000000 +0200 @@ -864,6 +864,10 @@ gtk_image_set_from_icon_name(GTK_IMAGE(data->IM_reconchange), state == TRUE ? ICONNAME_CHANGES_ALLOW : ICONNAME_CHANGES_PREVENT, GTK_ICON_SIZE_BUTTON); + //5.6 add reconchange icon + list_txn_set_reconchange(GTK_TREE_VIEW(data->LV_ope), state); + gtk_widget_queue_draw (data->LV_ope); + register_panel_update(data->LV_ope, GINT_TO_POINTER(FLG_REG_SENSITIVE)); return FALSE; @@ -2649,9 +2653,6 @@ gtk_window_set_title (GTK_WINDOW (window), data->wintitle); gtk_window_set_icon_name(GTK_WINDOW (window), ICONNAME_HB_OPE_SHOW ); - //#1965594 - gtk_window_set_transient_for (GTK_WINDOW (window), GTK_WINDOW (GLOBALS->mainwindow)); - // connect our dispose function g_signal_connect (window, "delete-event", G_CALLBACK (register_panel_dispose), (gpointer)data); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/homebank-5.5.5/src/hb-misc.c new/homebank-5.5.6/src/hb-misc.c --- old/homebank-5.5.5/src/hb-misc.c 2022-02-06 10:42:58.000000000 +0100 +++ new/homebank-5.5.6/src/hb-misc.c 2022-06-18 21:22:54.000000000 +0200 @@ -41,8 +41,12 @@ double hb_amount_round(const double x, unsigned int digits) { - digits = MAX(digits, 8); - return floor((x * fac[digits]) + 0.5) / fac[digits]; + //fixed 5.6 MIN, not MAX... + 1977796 + digits = MIN(digits, 8); + + //1977796 + //return floor((x * fac[digits]) + 0.5) / fac[digits]; + return round((x * fac[digits])) / fac[digits]; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/homebank-5.5.5/src/hb-transaction.c new/homebank-5.5.6/src/hb-transaction.c --- old/homebank-5.5.5/src/hb-transaction.c 2022-01-01 17:40:56.000000000 +0100 +++ new/homebank-5.5.6/src/hb-transaction.c 2022-06-02 18:50:21.000000000 +0200 @@ -1043,7 +1043,9 @@ //controls accounts valid (archive scheduled maybe bad) acc = da_acc_get(ope->kacc); - if(acc == NULL) return NULL; + //#1972078 forbid on a closed account + if( (acc == NULL) || (acc->flags & AF_CLOSED) ) + return NULL; DB( g_print(" acc is '%s' %d\n", acc->name, acc->key) ); @@ -1052,7 +1054,9 @@ if(ope->flags & OF_INTXFER) { acc = da_acc_get(ope->kxferacc); - if(acc == NULL) return NULL; + //#1972078 forbid on a closed account + if( (acc == NULL) || (acc->flags & AF_CLOSED) ) + return NULL; // delete any splits da_split_destroy(ope->splits); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/homebank-5.5.5/src/homebank.h new/homebank-5.5.6/src/homebank.h --- old/homebank-5.5.5/src/homebank.h 2022-04-18 10:52:55.000000000 +0200 +++ new/homebank-5.5.6/src/homebank.h 2022-05-11 08:47:22.000000000 +0200 @@ -75,13 +75,13 @@ #define HOMEBANK_MAJOR 5 #define HOMEBANK_MINOR 5 -#define HOMEBANK_MICRO 5 +#define HOMEBANK_MICRO 6 -#define HB_VERSION "5.5.5" +#define HB_VERSION "5.5.6" #define HB_VERSION_NUM (HOMEBANK_MAJOR*10000) + (HOMEBANK_MINOR*100) + HOMEBANK_MICRO #define FILE_VERSION 1.4 -#define PREF_VERSION 555 +#define PREF_VERSION 556 #if HB_UNSTABLE == FALSE #define PROGNAME "HomeBank" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/homebank-5.5.5/src/list-operation.c new/homebank-5.5.6/src/list-operation.c --- old/homebank-5.5.5/src/list-operation.c 2022-04-15 17:14:16.000000000 +0200 +++ new/homebank-5.5.6/src/list-operation.c 2022-06-28 19:06:22.000000000 +0200 @@ -45,18 +45,16 @@ /* This is not pretty. Of course you can also use a * separate compare function for each sort ID value */ -static gint list_txn_sort_iter_compare_strings(gchar *s1, gchar *s2) +static gint +list_txn_sort_iter_compare_strings(gchar *s1, gchar *s2) { return hb_string_utf8_compare(s1, s2); } -static gint - list_txn_sort_iter_compare_func (GtkTreeModel *model, - GtkTreeIter *a, - GtkTreeIter *b, - gpointer userdata) - { +static gint +list_txn_sort_iter_compare_func (GtkTreeModel *model, GtkTreeIter *a, GtkTreeIter *b, gpointer userdata) +{ gint sortcol = GPOINTER_TO_INT(userdata); gint retval = 0; Transaction *ope1, *ope2; @@ -184,7 +182,8 @@ } -static void list_txn_eval_future(GtkCellRenderer *renderer, Transaction *txn) +static void +list_txn_eval_future(GtkCellRenderer *renderer, Transaction *txn) { if(txn->date > GLOBALS->today) { @@ -231,21 +230,16 @@ g_object_set(renderer, "weight-set", FALSE, NULL); } - - - } -/* -** date cell function -*/ -static void list_txn_status_cell_data_function (GtkTreeViewColumn *col, GtkCellRenderer *renderer, GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data) +static void +list_txn_status_cell_data_function (GtkTreeViewColumn *col, GtkCellRenderer *renderer, GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data) { -Transaction *txn; +Transaction *ope; gchar *iconname = NULL; - gtk_tree_model_get(model, iter, MODEL_TXN_POINTER, &txn, -1); + gtk_tree_model_get(model, iter, MODEL_TXN_POINTER, &ope, -1); /* stat[0] = ( entry->ope_Flags & OF_ADDED ) ? data->istatus[2] : data->istatus[0]; @@ -257,14 +251,14 @@ switch(GPOINTER_TO_INT(user_data)) { case 1: - iconname = ( txn->flags & OF_AUTO ) ? ICONNAME_HB_OPE_AUTO : ( txn->flags & OF_ADDED ) ? ICONNAME_HB_OPE_NEW : NULL; + iconname = ( ope->flags & OF_AUTO ) ? ICONNAME_HB_OPE_AUTO : ( ope->flags & OF_ADDED ) ? ICONNAME_HB_OPE_NEW : NULL; break; case 2: - iconname = ( txn->flags & OF_CHANGED ) ? ICONNAME_HB_OPE_EDIT : NULL; + iconname = ( ope->flags & OF_CHANGED ) ? ICONNAME_HB_OPE_EDIT : NULL; break; case 3: - //iconname = ( txn->marker == TXN_MARK_DUPDST ) ? ICONNAME_HB_OPE_SIMILAR : NULL; - iconname = ( txn->dspflags & TXN_DSPFLG_DUPDST ) ? ICONNAME_HB_OPE_SIMILAR : NULL; + //iconname = ( ope->marker == TXN_MARK_DUPDST ) ? ICONNAME_HB_OPE_SIMILAR : NULL; + iconname = ( ope->dspflags & TXN_DSPFLG_DUPDST ) ? ICONNAME_HB_OPE_SIMILAR : NULL; break; /*case 3: if( entry->flags & OF_VALID ) @@ -276,14 +270,13 @@ } break;*/ } + g_object_set(renderer, "icon-name", iconname, NULL); } -/* -** account cell function -*/ -static void list_txn_account_cell_data_function (GtkTreeViewColumn *col, GtkCellRenderer *renderer, GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data) +static void +list_txn_account_cell_data_function (GtkTreeViewColumn *col, GtkCellRenderer *renderer, GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data) { Transaction *ope; Account *acc; @@ -300,10 +293,8 @@ } -/* -** match rate cell function -*/ -static void list_txn_match_rate_cell_data_function (GtkTreeViewColumn *col, GtkCellRenderer *renderer, GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data) +static void +list_txn_match_rate_cell_data_function (GtkTreeViewColumn *col, GtkCellRenderer *renderer, GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data) { Transaction *ope; gchar buffer[8]; @@ -315,10 +306,8 @@ } -/* -** date cell function -*/ -static void list_txn_date_cell_data_function (GtkTreeViewColumn *col, GtkCellRenderer *renderer, GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data) +static void +list_txn_date_cell_data_function (GtkTreeViewColumn *col, GtkCellRenderer *renderer, GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data) { Transaction *ope; gchar buffer[256]; @@ -333,20 +322,19 @@ g_date_strftime (buffer, 256-1, PREFS->date_format, &date); #if MYDEBUG gchar *ds = g_strdup_printf ("%s [%02d]", buffer, ope->pos ); - g_object_set(renderer, "text", ds, NULL); + g_object_set(renderer, "text", ds, NULL); g_free(ds); #else - g_object_set(renderer, "text", buffer, NULL); + g_object_set(renderer, "text", buffer, NULL); #endif } - else - g_object_set(renderer, "text", "????", NULL); + else + g_object_set(renderer, "text", "????", NULL); } -/* -** info cell function -*/ -static void list_txn_info_cell_data_function (GtkTreeViewColumn *col, GtkCellRenderer *renderer, GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data) + +static void +list_txn_info_cell_data_function (GtkTreeViewColumn *col, GtkCellRenderer *renderer, GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data) { Transaction *ope; @@ -368,7 +356,8 @@ } -static void list_txn_payeexfer_cell_data_function (GtkTreeViewColumn *col, GtkCellRenderer *renderer, GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data) +static void +list_txn_payeexfer_cell_data_function (GtkTreeViewColumn *col, GtkCellRenderer *renderer, GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data) { Transaction *ope; gchar *direction = ""; @@ -384,10 +373,8 @@ } -/* -** payee cell function -*/ -static void list_txn_payee_cell_data_function (GtkTreeViewColumn *col, GtkCellRenderer *renderer, GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data) +static void +list_txn_payee_cell_data_function (GtkTreeViewColumn *col, GtkCellRenderer *renderer, GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data) { Transaction *ope; @@ -410,10 +397,8 @@ } -/* -** tags cell function -*/ -static void list_txn_tags_cell_data_function (GtkTreeViewColumn *col, GtkCellRenderer *renderer, GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data) +static void +list_txn_tags_cell_data_function (GtkTreeViewColumn *col, GtkCellRenderer *renderer, GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data) { Transaction *ope; gchar *str; @@ -429,22 +414,19 @@ } else g_object_set(renderer, "text", "", NULL); - - } -/* -** memo cell function -*/ -static void list_txn_memo_cell_data_function (GtkTreeViewColumn *col, GtkCellRenderer *renderer, GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data) + +static void +list_txn_memo_cell_data_function (GtkTreeViewColumn *col, GtkCellRenderer *renderer, GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data) { Transaction *ope; gtk_tree_model_get(model, iter, MODEL_TXN_POINTER, &ope, -1); list_txn_eval_future(renderer, ope); - - g_object_set(renderer, "text", ope->memo, NULL); + + g_object_set(renderer, "text", ope->memo, NULL); } @@ -466,38 +448,50 @@ } -/* -** clr cell function -*/ static void list_txn_clr_cell_data_function (GtkTreeViewColumn *col, GtkCellRenderer *renderer, GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data) { +struct list_txn_data *data = NULL; +GtkWidget *widget; Transaction *ope; gchar *iconname = NULL; //const gchar *c = ""; - + + widget = gtk_tree_view_column_get_tree_view(col); + if( widget ) + data = g_object_get_data(G_OBJECT(widget), "inst_data"); + gtk_tree_model_get(model, iter, MODEL_TXN_POINTER, &ope, -1); - switch(ope->status) + + switch(GPOINTER_TO_INT(user_data)) { - /*case TXN_STATUS_CLEARED: c = "c"; break; - case TXN_STATUS_RECONCILED: c = "R"; break; - case TXN_STATUS_REMIND: c = "!"; break;*/ - case TXN_STATUS_CLEARED: iconname = ICONNAME_HB_OPE_CLEARED; break; - case TXN_STATUS_RECONCILED: iconname = ICONNAME_HB_OPE_RECONCILED; break; - case TXN_STATUS_REMIND: iconname = ICONNAME_HB_OPE_REMIND; break; - case TXN_STATUS_VOID: iconname = ICONNAME_HB_OPE_VOID; break; + case 1: + if( (data->reconchange == FALSE) && (ope->status == TXN_STATUS_RECONCILED) ) + iconname = ICONNAME_CHANGES_PREVENT; + break; + + case 2: + { + switch(ope->status) + { + /*case TXN_STATUS_CLEARED: c = "c"; break; + case TXN_STATUS_RECONCILED: c = "R"; break; + case TXN_STATUS_REMIND: c = "!"; break;*/ + case TXN_STATUS_CLEARED: iconname = ICONNAME_HB_OPE_CLEARED; break; + case TXN_STATUS_RECONCILED: iconname = ICONNAME_HB_OPE_RECONCILED; break; + case TXN_STATUS_REMIND: iconname = ICONNAME_HB_OPE_REMIND; break; + case TXN_STATUS_VOID: iconname = ICONNAME_HB_OPE_VOID; break; + } + } } //g_object_set(renderer, "text", c, NULL); g_object_set(renderer, "icon-name", iconname, NULL); - } -/* -** amount cell function -*/ -static void list_txn_amount_cell_data_function (GtkTreeViewColumn *col, GtkCellRenderer *renderer, GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data) +static void +list_txn_amount_cell_data_function (GtkTreeViewColumn *col, GtkCellRenderer *renderer, GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data) { struct list_txn_data *data = NULL; GtkWidget *widget; @@ -557,21 +551,19 @@ g_object_set(renderer, "weight", PANGO_WEIGHT_BOLD, NULL); else g_object_set(renderer, "weight", PANGO_WEIGHT_NORMAL, NULL); - } -/* -** category cell function -*/ -static void list_txn_category_cell_data_function (GtkTreeViewColumn *col, GtkCellRenderer *renderer, GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data) +static void +list_txn_category_cell_data_function (GtkTreeViewColumn *col, GtkCellRenderer *renderer, GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data) { struct list_txn_data *data = NULL; GtkWidget *widget; Transaction *ope; Category *cat; -gchar *color, *text; +gchar *color = NULL; +gchar *text = NULL; widget = gtk_tree_view_column_get_tree_view(col); if( widget ) @@ -617,6 +609,46 @@ /* = = = = = = = = = = = = = = = = */ +//#1967708 encode csv string: add string delimiter ", and doubled if inside +static void list_txn_to_string_csv_text(GString *node, gchar *sep, gchar *text) +{ + if( text == NULL ) + { + g_string_append (node, ""); + } + else + { + //sep into string ? + if( g_strstr_len(text, -1, sep) == NULL ) + { + //no: put native text + g_string_append (node, text); + } + else + { + //yes: encode with string delimiter + g_string_append_c (node, '"' ); + // " not inside inside ? + if( g_strstr_len(text, -1, "\"") == NULL ) + { + //no: put native text + g_string_append (node, text); + } + else + { + //yes: double the text delimiter + GString *dtext = g_string_new(text); + + g_string_replace(dtext, "\"", "\"\"", 0); + g_string_append (node, dtext->str); + g_string_free(dtext, TRUE); + } + g_string_append_c (node, '"' ); + } + } +} + + static void list_txn_to_string_line(GString *node, gchar sep, Transaction *ope, guint32 kcat, gchar *memo, gdouble amount, gboolean hasstatus, gboolean hasacc) { Payee *payee; @@ -637,28 +669,29 @@ hb_sprint_date(strbuf, ope->date); g_string_append (node, strbuf ); g_string_append_c (node, sep ); - + //paymode g_snprintf(strbuf, sizeof (strbuf), "%d", ope->paymode); g_string_append (node, strbuf ); g_string_append_c (node, sep ); //info - g_string_append (node, (ope->info != NULL) ? ope->info : "" ); + //g_string_append (node, (ope->info != NULL) ? ope->info : "" ); + list_txn_to_string_csv_text(node, &sep, ope->info); g_string_append_c (node, sep ); - + //payee payee = da_pay_get(ope->kpay); - g_string_append (node, (payee->name != NULL) ? payee->name : ""); + //g_string_append (node, (payee->name != NULL) ? payee->name : ""); + list_txn_to_string_csv_text(node, &sep, payee->name); g_string_append_c (node, sep ); //memo - g_string_append (node, (memo != NULL) ? memo : "" ); + //g_string_append (node, (memo != NULL) ? memo : "" ); + list_txn_to_string_csv_text(node, &sep, memo); g_string_append_c (node, sep ); //amount - - //#793719 //g_ascii_dtostr (amountbuf, sizeof (amountbuf), ope->amount); //#1750257 use locale numdigit @@ -680,7 +713,8 @@ //category category = da_cat_get(kcat); - g_string_append (node, (category->fullname != NULL) ? category->fullname : "" ); + //g_string_append (node, (category->fullname != NULL) ? category->fullname : "" ); + list_txn_to_string_csv_text(node, &sep, category->fullname); g_string_append_c (node, sep ); //tags @@ -876,6 +910,15 @@ } +void list_txn_set_reconchange(GtkTreeView *treeview, gboolean reconchange) +{ +struct list_txn_data *data; + + data = g_object_get_data(G_OBJECT(treeview), "inst_data"); + + data->reconchange = reconchange; +} + void list_txn_set_warn_nocategory(GtkTreeView *treeview, gboolean warn) { struct list_txn_data *data; @@ -1138,7 +1181,7 @@ } } - + gtk_menu_attach_to_widget (GTK_MENU (menu), button, NULL); #if( (GTK_MAJOR_VERSION == 3) && (GTK_MINOR_VERSION >= 22) ) gtk_menu_popup_at_pointer(GTK_MENU (menu), NULL); @@ -1474,11 +1517,17 @@ column = gtk_tree_view_column_new(); gtk_tree_view_column_set_title(column, _("Status")); - //renderer = gtk_cell_renderer_text_new (); + renderer = gtk_cell_renderer_pixbuf_new (); + //gtk_cell_renderer_set_fixed_size(renderer, GLOBALS->lst_pixbuf_maxwidth, -1); + gtk_tree_view_column_pack_start(column, renderer, TRUE); + g_object_set(renderer, "xalign", 1.0, NULL); + gtk_tree_view_column_set_cell_data_func(column, renderer, list_txn_clr_cell_data_function, GINT_TO_POINTER(1), NULL); + renderer = gtk_cell_renderer_pixbuf_new(); gtk_tree_view_column_pack_start(column, renderer, TRUE); g_object_set(renderer, "xalign", 1.0, NULL); - gtk_tree_view_column_set_cell_data_func(column, renderer, list_txn_clr_cell_data_function, NULL, NULL); + gtk_tree_view_column_set_cell_data_func(column, renderer, list_txn_clr_cell_data_function, GINT_TO_POINTER(2), NULL); + gtk_tree_view_column_set_reorderable(column, TRUE); gtk_tree_view_column_set_sort_column_id (column, LST_DSPOPE_CLR); //gtk_tree_view_column_set_sort_indicator (column, FALSE); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/homebank-5.5.5/src/list-operation.h new/homebank-5.5.6/src/list-operation.h --- old/homebank-5.5.5/src/list-operation.h 2022-01-01 17:42:07.000000000 +0100 +++ new/homebank-5.5.6/src/list-operation.h 2022-06-20 23:04:19.000000000 +0200 @@ -41,6 +41,7 @@ gint list_type; gboolean showall; + gboolean reconchange; gboolean warnnocategory; gboolean tvc_is_visible; gboolean save_column_width; @@ -60,6 +61,7 @@ GString *list_txn_to_string(GtkTreeView *treeview, gboolean isclipboard, gboolean hassplit, gboolean hasstatus, gboolean hasacc); +void list_txn_set_reconchange(GtkTreeView *treeview, gboolean reconchange); void list_txn_set_save_column_width(GtkTreeView *treeview, gboolean save_column_width); void list_txn_sort_force(GtkTreeSortable *sortable, gpointer user_data); guint list_txn_get_quicksearch_column_mask(GtkTreeView *treeview); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/homebank-5.5.5/src/rep-balance.c new/homebank-5.5.6/src/rep-balance.c --- old/homebank-5.5.5/src/rep-balance.c 2022-04-12 09:34:30.000000000 +0200 +++ new/homebank-5.5.6/src/rep-balance.c 2022-06-02 18:24:21.000000000 +0200 @@ -282,10 +282,10 @@ if( (ope->date >= data->filter->mindate) && (ope->date <= data->filter->maxdate) ) { - //#1907699 date is wrong - //pos = report_interval_get_pos(tmpintvl, data->filter->mindate, ope); - pos = report_interval_get_pos(tmpintvl, data->jbasedate, ope); + //pos = report_interval_get_pos(tmpintvl, data->jbasedate, ope); + //#1970020 but with #1958001 fix, it is + pos = report_interval_get_pos(tmpintvl, data->filter->mindate, ope); DB( g_print(" get '%s', pos=%d act=%d\n", ope->memo, pos, active) ); @@ -917,9 +917,6 @@ //set the window icon gtk_window_set_icon_name(GTK_WINDOW (window), ICONNAME_HB_REP_BALANCE); - //#1965594 - gtk_window_set_transient_for (GTK_WINDOW (window), GTK_WINDOW (GLOBALS->mainwindow)); - //window contents mainvbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_container_add (GTK_CONTAINER (window), mainvbox); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/homebank-5.5.5/src/rep-budget.c new/homebank-5.5.6/src/rep-budget.c --- old/homebank-5.5.5/src/rep-budget.c 2022-04-12 09:34:36.000000000 +0200 +++ new/homebank-5.5.6/src/rep-budget.c 2022-05-30 20:57:56.000000000 +0200 @@ -1198,9 +1198,6 @@ //set the window icon gtk_window_set_icon_name(GTK_WINDOW (window), ICONNAME_HB_REP_BUDGET); - //#1965594 - gtk_window_set_transient_for (GTK_WINDOW (window), GTK_WINDOW (GLOBALS->mainwindow)); - //window contents mainvbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_container_add (GTK_CONTAINER (window), mainvbox); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/homebank-5.5.5/src/rep-stats.c new/homebank-5.5.6/src/rep-stats.c --- old/homebank-5.5.5/src/rep-stats.c 2022-04-12 09:34:45.000000000 +0200 +++ new/homebank-5.5.6/src/rep-stats.c 2022-05-30 20:58:06.000000000 +0200 @@ -1460,9 +1460,6 @@ gtk_window_set_title (GTK_WINDOW (window), _("Statistics Report")); gtk_window_set_icon_name(GTK_WINDOW (window), ICONNAME_HB_REP_STATS); - //#1965594 - gtk_window_set_transient_for (GTK_WINDOW (window), GTK_WINDOW (GLOBALS->mainwindow)); - //window contents mainvbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_container_add (GTK_CONTAINER (window), mainvbox); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/homebank-5.5.5/src/rep-time.c new/homebank-5.5.6/src/rep-time.c --- old/homebank-5.5.5/src/rep-time.c 2022-04-12 09:34:54.000000000 +0200 +++ new/homebank-5.5.6/src/rep-time.c 2022-05-30 20:58:14.000000000 +0200 @@ -1188,10 +1188,6 @@ //set the window icon gtk_window_set_icon_name(GTK_WINDOW (window), ICONNAME_HB_REP_TIME); - //#1965594 - gtk_window_set_transient_for (GTK_WINDOW (window), GTK_WINDOW (GLOBALS->mainwindow)); - - //window contents mainvbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_container_add (GTK_CONTAINER (window), mainvbox); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/homebank-5.5.5/src/rep-vehicle.c new/homebank-5.5.6/src/rep-vehicle.c --- old/homebank-5.5.5/src/rep-vehicle.c 2022-04-12 09:35:07.000000000 +0200 +++ new/homebank-5.5.6/src/rep-vehicle.c 2022-05-30 20:58:24.000000000 +0200 @@ -917,9 +917,6 @@ //set the window icon gtk_window_set_icon_name(GTK_WINDOW (window), ICONNAME_HB_REP_CAR); - //#1965594 - gtk_window_set_transient_for (GTK_WINDOW (window), GTK_WINDOW (GLOBALS->mainwindow)); - //window contents mainvbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_container_add (GTK_CONTAINER (window), mainvbox); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/homebank-5.5.5/src/ui-account.c new/homebank-5.5.6/src/ui-account.c --- old/homebank-5.5.5/src/ui-account.c 2022-01-01 17:40:56.000000000 +0100 +++ new/homebank-5.5.6/src/ui-account.c 2022-06-03 08:21:06.000000000 +0200 @@ -146,8 +146,14 @@ if( entry != NULL && GTK_IS_ENTRY(entry) ) { Account *item = da_acc_get(key); - - hbtk_entry_set_text(GTK_ENTRY(entry), item != NULL ? item->name : ""); + gchar *txt = ""; + + //#1972078 forbid set a closed account + if( (item != NULL) && !(item->flags & AF_CLOSED) ) + { + txt = item->name; + } + hbtk_entry_set_text(GTK_ENTRY(entry), txt); } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/homebank-5.5.5/src/ui-archive.c new/homebank-5.5.6/src/ui-archive.c --- old/homebank-5.5.5/src/ui-archive.c 2022-04-17 17:28:06.000000000 +0200 +++ new/homebank-5.5.6/src/ui-archive.c 2022-06-21 07:54:39.000000000 +0200 @@ -419,7 +419,7 @@ #if MYDEBUG == 1 column = list_tpl_column_text_create(NULL, 0, list_tpl_cell_data_function_debugkey, NULL); - gtk_tree_view_append_column (GTK_TREE_VIEW(view), column); + gtk_tree_view_append_column (GTK_TREE_VIEW(treeview), column); #endif /* column: Scheduled icon */ @@ -1165,8 +1165,10 @@ // listview scrollwin = gtk_scrolled_window_new(NULL,NULL); - gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrollwin), GTK_SHADOW_ETCHED_IN); - gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrollwin), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC); + gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrollwin), GTK_SHADOW_ETCHED_IN); + //gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrollwin), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC); + //#1970509 enable hscrollbar + gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrollwin), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); treeview = (GtkWidget *)list_tpl_new(); data->LV_arc = treeview; gtk_widget_set_size_request(treeview, HB_MINWIDTH_LIST, -1); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/homebank-5.5.5/src/ui-split.c new/homebank-5.5.6/src/ui-split.c --- old/homebank-5.5.5/src/ui-split.c 2022-01-01 17:40:56.000000000 +0100 +++ new/homebank-5.5.6/src/ui-split.c 2022-06-28 19:07:44.000000000 +0200 @@ -29,8 +29,6 @@ #include "hb-split.h" - - /****************************************************************************/ /* Debug macros */ /****************************************************************************/ @@ -51,6 +49,8 @@ /* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ + + static void list_split_number_cell_data_function (GtkTreeViewColumn *col, GtkCellRenderer *renderer, GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data) { GtkTreePath *path; @@ -78,7 +78,7 @@ gtk_tree_model_get(model, iter, 0, &split, -1); //hb_strfmon(buf, G_ASCII_DTOSTR_BUF_SIZE-1, amount, ope->kcur, GLOBALS->minor); - format = g_object_get_data(G_OBJECT(col), "format"); + format = g_object_get_data(G_OBJECT(col), "format_data"); amount = split->amount; g_snprintf(buf, G_ASCII_DTOSTR_BUF_SIZE-1, format, amount); @@ -145,7 +145,7 @@ { split = da_splits_get(splits, i); - DB( g_print("- set split %d : %d, %.2f, %s\n", i, split->kcat, split->amount, split->memo) ); + DB( g_print(" append split %d : %d, %.2f, '%s'\n", i, split->kcat, split->amount, split->memo) ); gtk_list_store_append (GTK_LIST_STORE(model), &iter); gtk_list_store_set (GTK_LIST_STORE(model), &iter, @@ -237,7 +237,7 @@ g_object_set(renderer, "xalign", 1.0, NULL); column = gtk_tree_view_column_new_with_attributes(_("Amount"), renderer, NULL); - g_object_set_data(G_OBJECT(column), "format", format); + g_object_set_data(G_OBJECT(column), "format_data", format); gtk_tree_view_column_set_alignment (column, 1.0); gtk_tree_view_column_set_resizable(column, TRUE); @@ -316,7 +316,7 @@ gtk_tree_model_get (model, &iter, 0, &split, -1); split->pos = i; - DB( g_print("split pos: %d '%s' %.2f\n", i, split->memo, split->amount) ); + DB( g_print(" split pos: %d '%s' %.2f\n", i, split->memo, split->amount) ); i++; valid = gtk_tree_model_iter_next(GTK_TREE_MODEL(model), &iter); } @@ -325,32 +325,26 @@ } -static void ui_split_dialog_cb_eval_split(GtkWidget *widget, gpointer user_data) +static gboolean ui_split_dialog_cb_amount_focus_out (GtkEditable *spin_button, GdkEvent *event, gpointer user_data) { struct ui_split_dialog_data *data; -gboolean sensitive; -gdouble amount; const gchar *txt; -guint count; - - DB( g_print("\n[ui_split_dialog] eval split\n") ); - data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(GTK_WIDGET(widget), GTK_TYPE_WINDOW)), "inst_data"); + DB( g_print("\n[ui_split_dialog] cb amount focus out\n") ); - amount = g_strtod(gtk_entry_get_text(GTK_ENTRY(data->ST_amount)), NULL); - sensitive = hb_amount_round(amount, data->cur->frac_digits) != 0.0 ? TRUE : FALSE; - gtk_widget_set_sensitive (data->BT_apply, sensitive); + data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(GTK_WIDGET(spin_button), GTK_TYPE_WINDOW)), "inst_data"); - count = da_splits_length (data->tmp_splits); - sensitive = ( count >= TXN_MAX_SPLIT ) ? FALSE : TRUE; - gtk_widget_set_sensitive (data->BT_add, sensitive); + txt = gtk_entry_get_text(GTK_ENTRY(spin_button)); - //#5.4.3 get a sign -/+ - txt = gtk_entry_get_text(GTK_ENTRY(data->ST_amount)); - data->amtsigned = (*txt == '-' || *txt == '+') ? TRUE : FALSE; + data->isopposite = FALSE; + if( ((data->txntype == TXN_TYPE_EXPENSE) && (*txt == '+')) || ((data->txntype == TXN_TYPE_INCOME) && (*txt == '-')) ) + { + data->isopposite = TRUE; + } - DB( g_print(" - txt='%s' amt=%.2f, signed=%d, nbsplit=%d\n", txt, amount, data->amtsigned, count) ); + DB( g_print(" txt='%s'\n amt=%.8f\n opp=%d\n", txt, gtk_spin_button_get_value (GTK_SPIN_BUTTON(spin_button)), data->isopposite) ); + return FALSE; } @@ -375,8 +369,6 @@ tmpval = (count > 1) ? TRUE : FALSE; gtk_widget_set_sensitive (data->BT_remall, (data->isedited) ? FALSE : tmpval); - ui_split_dialog_cb_eval_split(widget, NULL); - //btn: add/apply /*amount = gtk_spin_button_get_value(GTK_SPIN_BUTTON(data->ST_amount)); tmpval = hb_amount_round(amount, 2) != 0.0 ? TRUE : FALSE; @@ -406,18 +398,12 @@ data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(GTK_WIDGET(widget), GTK_TYPE_WINDOW)), "inst_data"); - g_signal_handler_block(data->PO_cat, data->hid_cat); - g_signal_handler_block(data->ST_amount, data->hid_amt); - //ui_cat_comboboxentry_set_active(GTK_COMBO_BOX(data->PO_cat), 0); ui_cat_entry_popover_set_active(GTK_BOX(data->PO_cat), 0); if( data->mode == SPLIT_MODE_EMPTY ) gtk_spin_button_set_value(GTK_SPIN_BUTTON(data->ST_amount), 0.0); gtk_entry_set_text(GTK_ENTRY(data->ST_memo), ""); - g_signal_handler_unblock(data->ST_amount, data->hid_amt); - g_signal_handler_unblock(data->PO_cat, data->hid_cat); - gtk_widget_grab_focus(data->ST_amount); data->isedited = FALSE; @@ -477,7 +463,7 @@ GtkTreeModel *model; GtkTreeIter iter; - DB( g_print("\n[ui_split_dialog] apply\n") ); + DB( g_print("--------\n[ui_split_dialog] apply\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(GTK_WIDGET(widget), GTK_TYPE_WINDOW)), "inst_data"); @@ -488,6 +474,7 @@ gdouble amount; gtk_tree_model_get(model, &iter, 0, &split, -1); + DB( g_print(" update spin\n") ); gtk_spin_button_update (GTK_SPIN_BUTTON(data->ST_amount)); amount = gtk_spin_button_get_value(GTK_SPIN_BUTTON(data->ST_amount)); if(amount) @@ -561,31 +548,34 @@ guint count; gdouble amount; - DB( g_print("\n[ui_split_dialog] add\n") ); + DB( g_print("--------\n[ui_split_dialog] add\n") ); data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(GTK_WIDGET(widget), GTK_TYPE_WINDOW)), "inst_data"); count = da_splits_length (data->tmp_splits); + DB( g_print(" n_split: %d (of %d)\n", count, TXN_MAX_SPLIT) ); + if( count <= TXN_MAX_SPLIT ) { - gboolean amtsigned; - split = da_split_malloc (); - //preserve amtsigned, resetted with gtk_spin_button_update - amtsigned = data->amtsigned; + //5.4.4 + DB( g_print(" update spin\n") ); gtk_spin_button_update (GTK_SPIN_BUTTON(data->ST_amount)); amount = gtk_spin_button_get_value(GTK_SPIN_BUTTON(data->ST_amount)); if(amount) { - //#5.4.3 force sign only if the input has no sign - //#1880386 wish: revert ease to combine expense/income in splits dialog - if( amtsigned == FALSE ) + //by default affect txntype sign + if( data->txntype == TXN_TYPE_EXPENSE && amount > 0 ) { - //#1848604 force sign according txn type - if( hb_amount_type_match(amount, data->txntype) == FALSE) - amount *= -1; + DB( g_print(" force expense\n") ); + amount *= -1; + } + //but take opposite into account + if( data->isopposite == TRUE ) + { + DB( g_print(" force opposite\n") ); + amount *= -1; } - //split->amount = amount; //#1910819 must round frac digit split->amount = hb_amount_round(amount, data->cur->frac_digits); @@ -594,7 +584,7 @@ split->kcat = ui_cat_entry_popover_get_key_add_new(GTK_BOX(data->PO_cat)); split->memo = g_strdup((gchar *)gtk_entry_get_text(GTK_ENTRY(data->ST_memo))); - DB( g_print("- get split : %d, %.2f, %s\n", split->kcat, split->amount, split->memo) ); + DB( g_print(" append split : %d, %.2f, %s\n", split->kcat, split->amount, split->memo) ); da_splits_append (data->tmp_splits, split); @@ -612,7 +602,10 @@ da_split_free(split); } } - //todo: msg max number reached + else + { + g_warning("split error: limit of %d reached", TXN_MAX_SPLIT); + } ui_split_dialog_edit_end(widget, user_data); ui_split_dialog_update (widget, user_data); @@ -627,6 +620,10 @@ data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(GTK_WIDGET(widget), GTK_TYPE_WINDOW)), "inst_data"); + //we trigger the focus-out-event on spinbutton, with grab the add button + //because we also do things before the legacy spinbutton fucntion + gtk_widget_grab_focus(data->BT_add); + if( data->isedited == TRUE ) ui_split_dialog_apply_cb(widget, NULL); else @@ -634,7 +631,7 @@ } -static void ui_split_rowactivated (GtkTreeView *treeview, GtkTreePath *path, GtkTreeViewColumn *col, gpointer user_data) +static void ui_split_rowactivated(GtkTreeView *treeview, GtkTreePath *path, GtkTreeViewColumn *col, gpointer user_data) { DB( g_print("\n[ui_split_dialog] rowactivated\n") ); @@ -687,7 +684,7 @@ } count = i; - DB( g_print("- count=%d, nbvalid=%d\n", count, nbvalid ) ); + DB( g_print(" n_count=%d, n_valid=%d\n", count, nbvalid ) ); data->remsplit = data->amount - data->sumsplit; @@ -753,7 +750,7 @@ count = da_splits_length(data->tmp_splits); data->nbsplit = count > 1 ? count-1 : 0; - DB( g_print("- count = %d\n", count) ); + DB( g_print(" n_count = %d\n", count) ); list_split_populate (data->LV_split, data->tmp_splits); data->isedited = FALSE; @@ -790,7 +787,7 @@ NULL); //store our dialog private data - DB( g_print(" - window=%p\n", dialog) ); + DB( g_print(" window=%p\n", dialog) ); g_signal_connect (dialog, "destroy", G_CALLBACK (gtk_widget_destroyed), &dialog); @@ -860,7 +857,7 @@ //store our dialog private data g_object_set_data(G_OBJECT(dialog), "inst_data", (gpointer)data); - DB( g_print(" - window=%p, inst_data=%p\n", dialog, data) ); + DB( g_print(" window=%p, inst_data=%p\n", dialog, data) ); g_signal_connect (dialog, "destroy", G_CALLBACK (gtk_widget_destroyed), &dialog); @@ -882,6 +879,10 @@ data->amount = amount; data->sumsplit = amount; + DB( g_print(" amount : %f\n", data->amount) ); + DB( g_print(" txntype: %s\n", data->txntype == TXN_TYPE_EXPENSE ? "expense" : "income" )); + DB( g_print(" mode : %s\n", data->mode == SPLIT_MODE_AMOUNT ? "amount" : "empty" )); + if( *src_splits != NULL ) data->tmp_splits = da_splits_clone(*src_splits); else @@ -1027,22 +1028,14 @@ g_signal_connect (gtk_tree_view_get_selection(GTK_TREE_VIEW(data->LV_split)), "changed", G_CALLBACK (ui_split_selection), data); g_signal_connect (GTK_TREE_VIEW(data->LV_split), "row-activated", G_CALLBACK (ui_split_rowactivated), data); - g_signal_connect (data->ST_memo, "insert-text", G_CALLBACK(ui_split_dialog_filter_text_handler), data); - - //data->hid_cat = g_signal_connect (data->PO_cat , "changed" , G_CALLBACK (ui_split_dialog_cb_eval_split), data); - data->hid_cat = g_signal_connect (ui_cat_entry_popover_get_entry(GTK_BOX(data->PO_cat)), "changed" , G_CALLBACK (ui_split_dialog_cb_eval_split), data); - - data->hid_amt = g_signal_connect (data->ST_amount, "changed", G_CALLBACK (ui_split_dialog_cb_eval_split), data); - //data->hid_amt = g_signal_connect (data->ST_amount, "value-changed", G_CALLBACK (ui_split_dialog_cb_eval_split), data); - - //todo: add enter validate - g_signal_connect (data->ST_amount, "activate", G_CALLBACK (ui_split_dialog_cb_activate_split), NULL); - - g_signal_connect (data->BT_edit , "clicked", G_CALLBACK (ui_split_dialog_edit_start), NULL); g_signal_connect (data->BT_rem , "clicked", G_CALLBACK (ui_split_dialog_delete_cb), NULL); g_signal_connect (data->BT_remall, "clicked", G_CALLBACK (ui_split_dialog_deleteall_cb), NULL); + g_signal_connect (data->ST_memo , "insert-text", G_CALLBACK(ui_split_dialog_filter_text_handler), data); + g_signal_connect (data->ST_amount, "focus-out-event", G_CALLBACK (ui_split_dialog_cb_amount_focus_out), data); + g_signal_connect (data->ST_amount, "activate", G_CALLBACK (ui_split_dialog_cb_activate_split), NULL); + g_signal_connect (data->BT_add , "clicked", G_CALLBACK (ui_split_dialog_add_cb), NULL); g_signal_connect (data->BT_apply , "clicked", G_CALLBACK (ui_split_dialog_apply_cb), NULL); g_signal_connect (data->BT_cancel, "clicked", G_CALLBACK (ui_split_dialog_cancel_cb), NULL); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/homebank-5.5.5/src/ui-split.h new/homebank-5.5.6/src/ui-split.h --- old/homebank-5.5.5/src/ui-split.h 2022-01-01 17:41:01.000000000 +0100 +++ new/homebank-5.5.6/src/ui-split.h 2022-06-20 22:42:44.000000000 +0200 @@ -56,17 +56,14 @@ Currency *cur; gdouble amount; - gboolean amtsigned; + gboolean isopposite; + gdouble sumsplit; gdouble remsplit; gboolean isedited; gint nbsplit; gint activeline; - - gulong hid_cat; - gulong hid_amt; - }; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/homebank-5.5.5/themes/Makefile.in new/homebank-5.5.6/themes/Makefile.in --- old/homebank-5.5.5/themes/Makefile.in 2022-04-15 17:31:12.000000000 +0200 +++ new/homebank-5.5.6/themes/Makefile.in 2022-05-19 22:49:30.000000000 +0200 @@ -200,13 +200,11 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ -EGREP = @EGREP@ ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ -GREP = @GREP@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/homebank-5.5.5/themes/hicolor/Makefile.in new/homebank-5.5.6/themes/hicolor/Makefile.in --- old/homebank-5.5.5/themes/hicolor/Makefile.in 2022-04-15 17:31:12.000000000 +0200 +++ new/homebank-5.5.6/themes/hicolor/Makefile.in 2022-05-19 22:49:30.000000000 +0200 @@ -142,13 +142,11 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ -EGREP = @EGREP@ ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ -GREP = @GREP@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@